Shell script
またはalias
を記述して、ディレクトリ内のさまざまな種類のファイルの数を調べたいと思います。たとえば、スクリプトの出力例は次のようになります。
*.h 20
*.c 40
*.cpp 10
Makefile 3
find . -type f -name '*.*' -exec sh -c 'echo ${0##*.}' {} \; | sort | uniq -c | sort -nr
echo ${0##*.}
は、ファイルの拡張子を示します。出力をsort
にパイプしてから、uniq
で一意の行をカウントします。
いくつかの追加:
uniq
の出力は出現回数に応じてソートされないため、ソートする場合は、数値ソート(-nr
)に再度パイプする必要があります。find
コマンドに-maxdepth 1
を追加します。awk '{print $2, $1}'
にパイプして、拡張後のカウントを表示します。