1. 程式人生 > >find 命令查詢檔案時忽略某些目錄

find 命令查詢檔案時忽略某些目錄

假設當前目錄下有 a,b,c 三個目錄,裡面都有一個 s.txt 檔案。
[caz28]~/temp$find .  -type f -name s.txt -print
./b/s.txt
./c/s.txt
./a/s.txt

要忽略 a 目錄:
[caz28]~/temp$find . -path ./a -prune -o -type f -name s.txt -print
./b/s.txt
./c/s.txt


./a 不能寫成 ./a/, 否則沒有作用。-o 是 -or 的意思,也必須加。
要忽略 a,b 兩個目錄:
[caz28]~/temp$find . \( -path ./a -o -path ./b \) -prune -o -type f -name s.txt -print
./c/s.txt

( 和 ) 前要加 \ , 而且兩個轉義字元前後都要有空格。