読者です 読者をやめる 読者になる 読者になる

tcsh上で使用頻度の高いコマンドを表示する

上記記事によると,入力する頻度の高いコマンド(ここでは15位以内)を列挙するためには以下のコマンドを入力すればOKらしい.

history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head -15

しかるにtcshの場合だと,a[$2]をa[$3]にする必要があった.
また,tcshのaliasに登録する場合には(仮にそのエイリアスを'rank'とする),

alias rank "history | awk '{a["\$"3]++}END{for(i in a){print a[i] "\" \"" i}}' | sort -rn | head -15"

のようにすればよい.
バックスラッシュによるエスケープが曲者であった.

もちろん,同様のことを実現するのに上記が唯一の解ではないだろう.
もう少し簡潔に書ける方法はあるはずだ.