これを試してください (これが最善の方法かどうかはわかりませんが、うまくいきます):
find . -type f | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -u
次のように機能します:
- 現在のフォルダからすべてのファイルを検索
- ファイルの拡張子があれば出力します
- 独自のソート済みリストを作成する
sort
へのパイプは不要 、awk ですべて実行できます:
find . -type f | awk -F. '!a[$NF]++{print $NF}'
再帰バージョン:
find . -type f | sed -e 's/.*\.//' | sed -e 's/.*\///' | sort -u
合計 (延長が表示された回数) が必要な場合:
find . -type f | sed -e 's/.*\.//' | sed -e 's/.*\///' | sort | uniq -c | sort -rn
非再帰 (単一フォルダー):
for f in *.*; do printf "%s\n" "${f##*.}"; done | sort -u
これは、このフォーラムの投稿に基づいています。クレジットはそこに記載する必要があります。