如何查找没有特定内容的文件?

Gab*_*tos 3 files search ssh grep

我有很多文件已经定义了 SPF 记录

grep -i v=spf *.db
Run Code Online (Sandbox Code Playgroud)

/var/named/domain.com.db

domain.com.  14400   IN      TXT     "v=spf1 +a +mx +ip4:XXX.XXX.XXX.XXX ?all"
Run Code Online (Sandbox Code Playgroud)

并想查找所有没有 SPF 记录的文件。一些提示?

小智 6

GNU grep 有一个-L选项,与-l. 它列出没有匹配项的文件。所以你可以做

grep -iL v=spf *.db
Run Code Online (Sandbox Code Playgroud)

使用更传统的 grep,您可以进行-c计数,然后选择计数为 0 的匹配项:

grep -ic v=spf *.db | grep ':0$' | sed 's/:0$//'
Run Code Online (Sandbox Code Playgroud)