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

相关内容