答案 0 :(得分:27)
POSIX方式
awk '/pattern1/ || /pattern2/{print}'
公平地说,我通过/pattern1|pattern2/
更喜欢 lhf 更好的方式,因为它需要较少的输入以获得相同的结果。但是,我应该指出,此模板不能用于逻辑AND 操作,因为您需要使用我的模板/pattern1/ && /pattern2/
答案 1 :(得分:22)
使用:
sed -nr '/patt1|patt2/p'
其中patt1
和patt2
是模式。如果您希望它们与整行匹配,请使用:
sed -nr '/^(patt1|patt2)$/p'
您可以删除-r
并添加转义符:
sed -n '/^\(patt1\|patt2\)$/p'
符合POSIX标准。
答案 2 :(得分:6)
awk '/PATT1|PATT2/ { print }'
答案 3 :(得分:6)
为什么你不想使用grep?
grep -e 'pattern1' -e 'pattern2'