特定の3つのファイルを含むディレクトリのみを計算するには、検索を使用しますか?

特定の3つのファイルを含むディレクトリのみを計算するには、検索を使用しますか?

findディレクトリ内の3つのファイル名の結果のみを返すことはできますか?

もちろん、最終的に我々はそれをwc -l計算するために使用することができます...

ただし、一種のプロジェクトのルートから始めて、名前/正規表現パターンと一致するサブフォルダ内にその中に含まれるサブフォルダを一覧表示します。

file1.ext1file2.ext2ヘヘ*.ext3

その後、wc -lこれらのファイルがすべて含まれているかどうかを直接計算しますか?

答え1

find-exec組み込まれていないテストを使用または実行でき、-execdirその結果をfindテストとして使用できます。この場合:

find . -name \*.ext3 -execdir /usr/bin/test -e file1.ext1 -a -e file2.ext2 \; -printf "%p\n" | sort -u | wc -l

一致するファイルを見つけて*.ext3、見つかった各ファイルに対してインクルード/usr/bin/testディレクトリで実行し、そのディレクトリにファイルがあるかどうかをfile1.ext1確認します。file2.ext2これにより、含まれているディレクトリへのパスが出力されます。その後、出力をフィルタリングして重複を排除し、最終的に計算します。

関連情報