死蔵しているコマンドの数

死蔵しているコマンド、どのくらいありますか?死蔵しているコマンドを参考にしてみました。awk 単独というわけではありませんが、awk には最適な例題です。

まず、自分の環境変数 PATH の通っているディレクトリにあるコマンド群は以下のようにして求まります。

$ ls `echo $PATH | sed 's/:/ /g'` | sort | uniq | wc
   3638    3637   40787

多分多い方ではないでしょうか?

次に alias の個数を調べます。

$ alias | wc
     15      44     415

今度は少ない方ではないでしょうか?

これら 2 つを合わせた数は以下のようにして求まります。

$ (ls `echo $PATH | sed 's/:/ /g'`; alias) | sort | uniq | wc
   3653    3681   41202

さて、次に使ったことがあるコマンドですが、全てを記録しているわけではありませんが、~/.zsh_history (5930 行) から検索してみます。 私の環境では 'setopt share_history' を ~/.zshrc に書き込んでいるため、GNU screen などで共有されている部分のフォーマットが崩れます。 そこで、zsh の history (5884 行くらい) と awk を使います。 以下のようにすることで使ったコマンドが取得できます。(大体ですが)

$ history -E 1 | awk '$0=$4' | sort | uniq | wc
    492     494    5264

というわけで死蔵しているコマンドは 3161 個でした。 何と約 87 % に匹敵します。

多い方が良いわけでもないですし、少ない方が良いわけでもないのですが、もう少し使いこなしたいものです。 逆に言えば 500 個くらいのコマンドがあれば不自由しないということでしょうか?

tag_nawk.pngtag_nawk.pngtag_nawk.pngtag_nawk.png