Grep:获取没有匹配行的所有文件

cla*_*laf 17 grep file

这可能是重复的,因为我相信我已经看到了类似的东西但是找不到它所以我问:

我有很多具有多行的文件,在大多数情况下,其中一行包含某个patern.我想让每个文件都没有这个patern的行.

编辑:只需要使用"-L"grep选项.这是重复的,我敢肯定,但没有找到原来的背...

cla*_*laf 32

使用"-L"选项以使文件没有模式.根据手册页:

-L, - 文件 - 不匹配

抑制正常输出; 而是打印每个输入文件的名称,通常不会打印输出.扫描将在第一场比赛中停止.


Jes*_*erE 6

Grep返回0/1表示是否匹配,所以你可以这样做:

for f in *.txt; do
    if ! grep -q "some expression" $f; then
        echo $f
    fi
done
Run Code Online (Sandbox Code Playgroud)

编辑:您还可以使用-L选项:

grep -L"some expression"*