find
ディレクトリ内の3つのファイル名の結果のみを返すことはできますか?
もちろん、最終的に我々はそれをwc -l
計算するために使用することができます...
ただし、一種のプロジェクトのルートから始めて、名前/正規表現パターンと一致するサブフォルダ内にその中に含まれるサブフォルダを一覧表示します。
file1.ext1
file2.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
これにより、含まれているディレクトリへのパスが出力されます。その後、出力をフィルタリングして重複を排除し、最終的に計算します。