フォルダに特定の拡張子を持つ特定のファイルがあることを確認する

フォルダに特定の拡張子を持つ特定のファイルがあることを確認する

ファイル構造があるとしましょう。

$ cd /home/Desktop
$ ls -d */
Abc/ Qwe/ Zxc/ Rty/
$

さて、各ディレクトリを繰り返して「.pdf」ファイルがあるかどうかを確認したいと思います。誰かが最良のアプローチが何であるかを教えてもらえますか?

ベストアンサー1

for dir in Abc/ Qwe/ Zxc/ Rty/; do
  result="$(find "$dir" -maxdepth 1 -type f -name '*.pdf' -printf .)"
  echo "Folder '${dir}' contains ${#result} *.pdf files."
done

これはサブディレクトリを無視します。

おすすめ記事