使用/不使用-a“查找”实用程序和多个表达式

时间:2011-09-13 13:42:43

标签: shell unix

之间有什么区别吗?
find . ! -name name1 ! -name name2

find . ! -name name1 -a ! -name name2

在什么情况下我应该使用“-a”?

2 个答案:

答案 0 :(得分:2)

正如find手册页所述,除非您另有明确说明,否则所有初选都是含蓄的。所以这两个命令确实是等价的。

相关POSIX报价:

  

表达 [ - a] 表达式

Conjunction of primaries; the AND operator is implied by the
juxtaposition of two primaries or made explicit by the optional -a
operator. The second expression shall not be evaluated if the first
expression is false.

因此,您永远不需要-a,但对于较大的表达式,它可能更具可读性。

答案 1 :(得分:0)

没有区别。 -a是-and的缩写,当你不给它时,它是默认值(其他可能的非一元运算符是“或”和“,”)。