您的位置:首页 > 运维架构 > Linux

linux find 反转 查找没有被找到的结果

2015-01-20 18:30 85 查看
在linux下,有时候需要找一些文件,还有时候这些文件格式不够统一和规范,但是需要排除的那些文件却格式统一,就可以使用find命令的反转功能

一般用find查找文件的命令是:

find . -name "*.tar.*" -o -name "*.patch"

这个意思是,查找文件名里面包含.tar.字符OR.patch字符的文件。

现在要把这些文件排除,想grep/ack/ag都有一个叫-revert的功能,就是查找不是目标字符串的内容,find没有,但是它提供了一个更强大的!非命令。

find . \( \! -name "*.tar.*" \)

这句话中()是代表(expr)使用表达式的意思,然后其中的!可以把结果取反过来。

find . \( \! \( -name "*.tar.*" -o -name "*.patch" \) \)

这句也是同样的意思,不过当用了-o命令的时候,需要再加一层括号。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: