find 如何計算表達式?

find 如何計算表達式?

find手冊頁說-print操作的值為true,那麼為什麼這個指令

find /home \( -not -print \)

總是列出目錄中的所有檔案?

答案1

-print操作確實具有 true 值,但僅它打印。

請注意,這會列印所有文件兩次:

$ find .  -print  -print
.
.
./file1
./file1
./file2
./file2

儘管有兩個列印語句,但該命令僅列印一次:

$ find . \( -not -print \) -print
.
./file1
./file2

在這裡,第一個-print評估結果為 true,因此-not -print評估結果為 false。因此,不執行第二次列印。

相關內容