2011-06-23 99 views
1
find . -a -type f -a -name '*.txt' 

我认为-a在测试之间扮演着“&”的角色。像'expr1 & expr2 & expr3'。如果我在路径和第一个表达式之间添加'-a',为什么它能正常工作?find命令中的-a是什么

+0

GNU findutils与BSD找到。这不是一个真正的与壳有关的问题。如果您从MacPorts或summat安装GNU find,则可能会得到与Linux上相同的错误。 – mkb

回答

0
expr1 expr2 
     Two expressions in a row are taken to be joined with an implied 
     "and"; expr2 is not evaluated if expr1 is false. 

    expr1 -a expr2 
     Same as expr1 expr2. 

在路径和表达式的情况下,我猜这只是一个解析怪癖,什么都不做。

0

是默认的,所以我猜想-a是简单的忽略,并没有试图对其进行一致的解析。