
我想找到目錄中的所有 .c 和 .h 文件,不包括“test”資料夾中的文件(有多個)。
我正在搜尋的目錄有測試目錄,例如:
myDirectory/abc/def/test
myDirectory/abc/def/ghi/test
ETC。
到目前為止,我已經嘗試過:
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
您必須將兩個-name
謂詞分組:
find /myDirectory/* -type d -name test -prune -o \( -name '*.c' -o -name '*.h' \) -print
需要反斜線來轉義括號。