查找目录中不包含与正则表达式字符串匹配的文件

30 浏览
0 Comments

查找目录中不包含与正则表达式字符串匹配的文件

我认为也许grep -v "<忽略包含此文本的文件>" $(ls)可以起作用,但实际上它会返回每个文件中与文本不匹配的每一行。我想要的是如果文件包含任意数量的匹配项,则忽略该文件。如下所示:

输入

file1<-- 匹配
file2
file3<-- 匹配
file4<-- 匹配
file5

输出

file2
file5

0
0 Comments

问题:如何找出一个目录中不包含与正则表达式字符串匹配的文件?

解决方法:使用grep命令的-l或-L选项。

grep命令是一个强大的文本搜索工具,可以根据正则表达式来搜索匹配的文本。在这个问题中,我们需要找出一个目录中不包含与正则表达式字符串匹配的文件。

第一种解决方法是使用grep命令的-l选项。该选项会抑制正常输出,而是打印出每个输入文件的名称,这些文件通常会被打印输出。

具体的命令是:grep -vl "" $(ls)

其中,-v选项是反转匹配,即只匹配不包含指定字符串的文件;-l选项是打印文件名。

第二种解决方法是使用grep命令的-L选项。该选项同样抑制正常输出,而是打印出每个输入文件的名称,这些文件通常不会被打印输出。

具体的命令是:grep -L "" $(ls)

其中,-L选项是打印没有匹配的文件名。

通过以上两种方法,我们可以方便地找出一个目录中不包含与正则表达式字符串匹配的文件。

0