
ディレクトリ内のすべての .c ファイルと .h ファイルを検索します。ただし、「test」フォルダー内のファイルは除きます (複数あります)。
検索しているディレクトリには、次のようなテスト ディレクトリがあります。
myDirectory/abc/def/test
myDirectory/abc/def/ghi/test
等
これまで試したこと:
find /myDirectory/* -type d -name test -prune -o -name '*.c' -print
これは .c ファイルでは機能するようです。ただし、次を実行すると:
find /myDirectory/* -type d -name test -prune -o -name '*.c' -o -name '*.h' -print
何も返されません。
複数のファイルタイプを含めるにはどうすればよいですか?
答え1
2 つの述語をグループ化する必要があります-name
。
find /myDirectory/* -type d -name test -prune -o \( -name '*.c' -o -name '*.h' \) -print
括弧をエスケープするにはバックスラッシュが必要です。