ls、echo、psなど、いくつかのコマンドを含むファイルがあります。ターミナルコマンドを使用して、どのコマンドが最も多く(ファイルで最も頻繁に表示されるか)を見つけ、それに対してmanを実行したいと思います。たとえば、私のファイルにはls ls psが含まれています。 man lsを実行する必要があります。ファイル形式は複数行で、各行には1つのコマンドしかありません。
ファイルの例:
ls
ls
ps
echo
man
cp
rm
答え1
ファイルを並べ替え、各単語が順番に表示される回数を数え、今回は数字で(降順で)並べ替え、最初の単語を取り出して数字を削除します(元のリストにスペースなしで単一の単語のみが含まれていると仮定) 。
sort file | uniq -c | sort -nr | head -n 1 | awk '{ print $2 }'
特定のファイルについてls
。
次のコマンドを呼び出しますman
。
man "$( sort file | uniq -c | sort -nr | head -n 1 | awk '{ print $2 }' )"
そうでなければ
man "$( awk '++c[$1] && c[$1] > m { mc=$1; m=c[$1] } END { print mc }' file )"
関連: