GNU/Linux >> Linux の 問題 >  >> Linux

フォルダー階層内の個別のファイル拡張子をすべて見つけるにはどうすればよいですか?

これを試してください (これが最善の方法かどうかはわかりませんが、うまくいきます):

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

これは、このフォーラムの投稿に基づいています。クレジットはそこに記載する必要があります。


Linux
  1. ファイル内のすべての数値をすばやく合計するにはどうすればよいですか?

  2. bashのフォルダ内の各ファイルの先頭に文字列を追加するにはどうすればよいですか?

  3. 最大のディレクトリまたは最大のファイルを見つける方法は?

  1. ファイルシステム上のすべてのハードリンクされたファイルを見つけるにはどうすればよいですか?

  2. ディレクトリツリーで最も古いファイルを見つけるにはどうすればよいですか

  3. 検索対象のフォルダーを除外するにはどうすればよいですか?

  1. Linux ですべてのスパース ファイルを見つける方法

  2. ディレクトリの下のすべてのシンボリックリンクを解除するには?

  3. PDF 内のすべてのテキストをラスタライズするにはどうすればよいですか?