完全相反的 grep 选项的组合

完全相反的 grep 选项的组合

我做了:grep -r -H -L txt ~

grep -r -l -L txt ~

它列出了所有文件吗?因为我得到的输出非常长。

答案1

您的两个命令完全相同...它们都递归您的主目录并列出不包含模式“txt”的文件。

为了证明它们具有相同的输出,你可以这样做

diff <(grep -r -H -L txt ~) <(grep -r -l -L txt ~)

稍微分解一下...

grep -r -H -L

是相同的

grep -r -L

-H(print filenames) 暗示任何grep涉及多个文件的调用。这就是-L所做的,因为它列出了与指定模式不匹配的所有文件。

下一个...

grep -r -l -L

是相同的

grep -r -L

这仅仅是因为-l-L是冲突选项,在这种情况下,最后出现的标志会覆盖任何先前的冲突标志。 (谢谢@don_crissti指出这一点。)

所以你实际上有grep -r -Lgrep -r -L

相关内容