这两个 grep 选项有什么区别?

这两个 grep 选项有什么区别?

我正在写一个脚本。下面两行有什么区别?

grep . || echo something

grep "^\." || echo something

答案1

Grep 用途常用表达;其中,单个句号.可匹配任何单个字符。要匹配文字句号/句点,您需要使用反斜杠将其转义,如下所示:\..^表示“行首”。

因此,grep .将匹配任何包含单个字符的内容(因此我认为它不会匹配空行)。另一方面,grep "^\."匹配任何以文字开头的行.

在 bash 中,||表示“或”;如果 grep 没有出现任何行,grep "^\." || echo something则会回显(因此计算结果为 false)。在 bash 中用于“和”。something&&

相关内容