2016-12-20 9 views
0

私はフォルダに再帰的にすべてのJPEGファイルをカウントするコードは、unix:すべてのフォルダ内の1つのサブフォルダを除いてjpegファイルの数を再帰的にカウントしますか?

find . -type f -name "*.jpeg" | wc -l 

だと思うが、私は今、私はいくつかのサブフォルダを除外する必要が実現...例えば

、私のフォルダが5で構成されていサブフォルダがあり、各サブフォルダには "meh"という名前のサブフォルダがあります。私のカウントには含めたくないjpegファイルで構成されています...誰も私にその方法を教えてもらえますか?

ありがとうございます。

答えて

0

あなたは、検索のoption-pruneまたは-regexでこれを行うことができます。

find . -name meh -prune -o -name '*.jpeg' -print | wc -l 
find . -not -regex '.*/meh/.*' -a -name '*.jpeg' -print | wc -l 

@Pruneはそれに答えなかった。

0

検索は、各ファイルの相対パスが含まれているため、これを行うことができます:

find . -type f -name "*.jpeg" | grep -vc /meh/ 
0

は、findの出力をフィルタリングするために任意のはgrepバリアントを使用してください。 これを実行している間に、という数字がのgrepの-cのオプションを使用してください。 -vは逆論理です。ではないパターンのみを指定してください。は、指定されたパターンと一致します。

find . -type f -name "*.jpeg" | egrep -c -v "/meh/" 
関連する問題