Linuxでよく使うコマンドをマイニング
何となく気になったので調べてみた。zshの設定で履歴は無限に取るようにしてるので、いまの履歴は
$ wc -l ~/.zsh_history 51699 /home/gorou/.zsh_history
と51699行。そこでワンライナーを書いて1〜30位までのよく使ったコマンドとそのトータルカウントをとってみた。本当はパイプでよく使うコマンドがあるからもうちょっと違うんだけど、まぁこんな感じで。
$ cat ~/.zsh_history|awk '{print $1}'|ruby -e "h = Hash.new(0);while s = gets;h[s.chomp] += 1;end;a = h.to_a.sort_by{|i| i[1]}.reverse;puts a[0..29].map{|i| i.join(': ')}.join(%Q[\n]);puts('total-count:: ' + a[0..29].map{|i|i[1]}.inject{|r,i| r+i}.to_s)" cd: 9497 ls: 8325 vi: 4974 s: 2260 less: 2240 clear: 1515 svn: 1415 ll: 1229 rm: 1125 ruby: 949 findgrep: 750 mv: 739 cp: 698 wget: 628 ./script/server: 551 exit: 511 cat: 429 w3m: 404 ps: 378 lv: 373 tar: 355 man: 345 chmod: 337 mkdir: 332 tail: 315 top: 299 irb: 284 sudo: 270 ln: 236 apt-cache: 234 total-count:: 41997
ワンライナーが汚いのはご愛敬で。結構あんがい思った通りの順番だなぁ。上位のsってのはsudoのalias、cleanってのはalias clear='echo -n '\''\033(B\033[H\033[J'\'で画面すっきりコマンド。./script/serverが案外上に入ってたのは驚いた。
んで上位30コマンドで80%をしめるのね。結構な割合だー。