如何在Linux上查找不包含文本的文本文件?

How to find text files not containing text on Linux?

如何在Linux上找到不包含某些文本的文件?基本上我要找的是下面的倒数

1
find . -print | xargs grep -iL"somestring"


具有讽刺意味的是,您引用的命令完全符合您的描述。测试一下!

1
2
3
echo"hello"> a
echo"bye"> b
grep -iL BYE a b

只说一句。

我想你可能会混淆-l和-l

1
find . -print | xargs grep -iL"somestring"

是的反义词

1
find . -print | xargs grep -iL"somestring"

顺便说一下,考虑一下

1
find . -print0 | xargs -0 grep -iL"somestring"

甚至

1
grep -IRiL"somestring" .


如果使用"find",脚本也会在文件夹中执行"grep":

1
2
3
4
5
6
[root@vps test]# find  | xargs grep -Li 1234
grep: .: Is a directory
.
./test.txt
./test2.txt
[root@vps test]#

直接使用grep:

1
2
3
4
# grep -Li 1234 /root/test/*
/root/test/test2.txt
/root/test/test.txt
[root@vps test]#

或者在"find"中指定选项"-type f"…即使使用find,也会花费更多的时间(首先是文件列表,然后是grep)。