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。因此,不执行第二次打印。