我想查找带有“word1 ... word2”的行,其中“...”可以是任何不同的字符。到目前为止,我已经使用了两个 greps 来完成相同的操作:
grep "$word1" $filename | grep "$word2"
有没有更快的方法通过假设这样的事情来做到这一点:
grep "$word1*$word2" $filename
也许 * 可能是一些特殊字符,可以是任何其他字符?
我想查找带有“word1 ... word2”的行,其中“...”可以是任何不同的字符。到目前为止,我已经使用了两个 greps 来完成相同的操作:
grep "$word1" $filename | grep "$word2"
有没有更快的方法通过假设这样的事情来做到这一点:
grep "$word1*$word2" $filename
也许 * 可能是一些特殊字符,可以是任何其他字符?
使用
.*
:.
匹配任何字符*
匹配任意数量的前面字符如果您需要分隔两个单词,即如果您不想匹配
abba
其中一个单词bb
,则使用该模式
\<
(这里\\<
是为了从 shell 中转义第一个反斜杠)在一个词之前匹配,并且\>
工作方式类似,但只是在一个词之后。有 alo
\b
匹配之前和之后,[[:<:]]
并且[[:>:]]
它的工作方式与\<
and一样\>
。哪些由grep
不同的人实施。