这是基本的,但我无法用谷歌搜索它。我可以在调用 grep 时使用吗
grep expr1 | grep expr2
以便它打印包括 expr1 和 expr2 的行?
尝试这个:
grep 'expr1.*expr2\|expr2.*expr1'
如果您知道“expr2”总是在“expr1”之后,这比它需要的要复杂一些。在这种情况下,您可以将其简化为:
grep 'expr1.*expr2'
你所拥有的应该工作。
以下是实现相同效果的另一种方法:
grep -E 'expr1.*expr2|expr2.*expr1'
实际上,如果您想获得包含两个表达式的行,您自己的建议几乎是正确的。利用:
grep expr1 somefile | grep expr2