考虑以下文件布局:
.
├── dir_a
│ └── file_1
└── file_2
调用
find . \( -name dir_a -prune \) -a -print
给出
./dir_a
但援引
find . \( -name dir_a -prune \) -o -print
给出
./file_2
为什么逻辑 OR (-o) 不包括逻辑 AND (-a) 的结果?
答案1
答案2
你的表达实际上是:
(匹配修剪后的 dir_a 但不对其执行任何操作)或(打印其他所有内容)
如果您想打印左侧的任何内容,则需要在括号内包含 -print 。