コマンド使用頻度

なんか、最近シェルのコマンドヒストリから実行コマンドの使用頻度をさらすのがはやっているようなのでやってみた。シェルは zsh。/home が nfs でマウントされている上に、ヒストリサイズが大きめにしているので、ヒストリ自体が結構でかい。
とりあえず、コマンドだけ抽出してみる。

% history 1 | awk '{print $2}' | sort | uniq -c | sort -r  | ruby -ane 'puts $_ if $F[0].to_i >= 200'
  13407 ls
  12888 cd
   3099 make
   1601 perl
   1227 svn
   1203 less
   1127 sudo
   1031 rm
    795 python
    793 fg
    770 vi
    666 ./kwic
    640 ack
    509 top
    453 ./plagger
    420 fgrep
    412 view
    401 find
    361 cp
    356 man
    336 ant
    330 ruby
    294 mv
    292 ./search
    287 ssh
    286 screen
    279 apt-cache
    277 egrep
    261 ./test
    236 mkdir
    230 ./configure
    217 emacs
    214 svk
    204 l
    203 gvim

コマンドライン全部含めた結果。

% history 1 | ruby -ne 'puts /^\s*\d+\s+(.*)$/.match($_)[1]' | sort | uniq -c | sort -r | ruby -ane 'puts $_ if $F[0].to_i >= 100'
  12397 ls
   2700 make
   2602 cd ..
    846 cd
    830 cd work
    793 fg
    764 cd
    535 cd src
    507 top
    482 cd kwic
    322 svn st
    319 perl test.pl
    296 cd Jet
    282 ./plagger
    229 cd lib
    225 cd plagger
    213 cd workspace
    212 ls -al
    201 l
    156 svn up
    149 sudo su -
    147 cd data
    145 make clean
    141 cd -
    139 ls -lh
    132 python
    130 cd cgi
    124 s
    122 cd trunk
    112 perl crawl.pl
    109 rehash
    106 cd tmp
    106 cd oak
    101 ant

ls しすぎ。しかし案外「./」 で始まるコマンドが多いな。ちなみに fg が多いのは emacs を Control-z で suspend して shell でちょっとした処理して、resume ってのをよくやるから。screen も使っているんだけど、なんか指がその一連の動作に慣れてるんだよな。
あと、「sudo su - 」って何のための sudo だよって話だなぁ。