青木日記

<前の日 | この月 | 次の日>

2002-06-27

cvsdiffl / awk

CVSのワーキングコピーで、チェックインしてから変更された ファイルをリストするコマンド cvsdiffl。 前に grep と cut で書いたのを awk にできることに気付いたので直してみた。

# 変更前
cvs diff --brief "$@" | grep ^Index | cut -d\  -f2
# 変更後
cvs diff --brief "$@" | awk '/^Index/ { print $2 }'

長さは変わらないが微妙にすっきりした。満足。

cvschk

なんとなくすることが思いつかないときは cvsdifflと cvschk を連発して、出力がなくなるまでチェックインしまくるのがいつものパターン。

cvschk とはレポジトリに入れてないファイルをリストする自作コマンドだ (Ruby)。cvs の contrib に cvscheck というのが入ってることに気付いてしまったのだが、こっちのほうがシンプルだし .cvsignore を無視したりしなかったりできるオプションがあるのが便利だと思う。きっと。

でも cvsutils ってのもあるのね……あ〜、これには負けそうだ……

cvschk-color

cvschk の出力を色付きにするコマンド cvschk-color

cvschk "$@" | xargs ls -d --color=auto

コマンドの使用回数

cvsdifflやcvschkを連発する、と書いたが、具体的にどれくらい連発している のだろう。高林さんの「履歴マニア」を読んでいらい、zsh の setopt append_history を使ってコマンドラインヒストリを全部ためこんでいるので grep で簡単に数えられる。結果は 26634 コマンド中 620 回 (2.3%) だった。 これは……多いのか? 少ないのか?ちなみに cvs diff を入れると 1020 回、 cvs で始まるコマンドを全部合わせると 2058 回だった。これはかなり多いと 言えそうだ。

100 回以上使ったコマンドはこんなかんじ。

 5163 ls           栄えあるダントツ一位!
 3480 less
 2881 vi           cdより多いってことは……
 1755 cd
 1419 cvs          プログラム + 原稿 + ウェブだしなあ。
 1060 ruby         rubyキタ―――――――――――――――!
  668 grep属
  643 w3m          google様のおかげです
  574 mv           mv、rmはcpの倍も使ってるという意外な事実。
  534 make         ちょうどmake = tar * 3くらいか
  531 rm
  499 dirs         poとともに使う
  491 cat          短いのはcatするのが好きなので
  483 po           n回popd
  404 cvsdiffl
  303 pop          対Mew兵器 その1
  238 cp
  236 man
  228 exit         shutdown前にktermとXを落とすのでそのたび三回つかう
  214 echo
  190 cvschk
  186 mkdir
  168 tar
  159 refe         意外とヘルプ系が上位ですね!
  147 gcc
  147 sudo
  141 sh
  131 date
  131 ps           身におぼえなし
  117 mboxchk      対Mew兵器 その2
  100 jobs         fgは94回
本日のツッコミ(全5件)
ただただし (2002-06-27 17:16)

cpよりmvが多いのは、重複を恐れるプログラマの性ではないかな

aa (2005-09-11 09:02)

http://www.loveruby.net/d/20020627.html

mazurkja (2005-09-11 12:52)

http://yahoo.com Yahoo !

mazurkja (2005-09-11 17:50)

http://yahoo.com Yahoo !

noviy (2005-09-11 18:34)

Noviy http://yahoo.com Yahoo !


<前の日 | この月 | 次の日>
2002|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|04|05|06|09|10|
2009|07|
2010|09|