2012-03-22 18 views
9

我想查找所有不等于.git*的文件/目录,因此我尝试了以下命令,但它具有相反的效果(它会打印包含.git的路径)。查找不等于图案的文件

$ find . ! -name "*.git" 
$ find . ! -name ".*.git" 
$ find . ! -name "*.git*" 
$ find . ! -regex "*.git" 
$ find . ! \(-name "*.git*" \) 

我还试图上述命令与\!逃逸,如在find . \! -name "*.git"

问:什么是find“不等于”的正确语法?

+0

@casperOne,为什么这个问题被认为是偏离主题(和降低投票率),而下面列出的类似问题是有效的? * [如何在git中编辑现有的标签消息?](http://stackoverflow.com/questions/7813194/how-do-i-edit-an-existing-tag-message-in-git) * [使用命令管道作为diff参数](http://stackoverflow.com/questions/9847479/use-pipe-of-commands-as-argument-for-diff) * [Linux find command gotcha?]( http://stackoverflow.com/questions/2591158/linux-find-command-gotcha) – user46874 2012-03-24 02:58:25

回答

13

啊哈!我在这里找到它:

$ find . ! -path "*.git*"