
特定のファイルを検索するときにディレクトリを除外する方法を学びたいと思います。
私はWSL2を使用しているので、ファイルシステム全体を検索しないように/ mnt /フォルダを除外したいと思います。
私はできます:
find . -path './mnt' -prune -o -print
/mnt/フォルダを除くすべてのディレクトリとファイルを印刷しますが、それを正しい構文と組み合わせて特定のファイルを見つけるのに苦労しています。
find -name example.txt
答え1
find . -path ./mnt -prune -o -name example.txt -print
これは次の略語です。
find . '(' -path ./mnt -a -prune ')' -o '(' -name example.txt -a -print ')'
AND(、省略した場合は暗黙的)は-a
OR()よりも優先順位が高くなります。-o
他の多くの言語。
または:
find . ! '(' -path ./mnt -prune ')' -name example.txt
これは次の略語です。
find . '(' ! '(' -path ./mnt -a -prune ')' -a -name example.txt ')' -a -print
-print
ないため、デフォルトの動作行動式の述語は else です。