簡體   English   中英

使用sed / awk打印具有匹配模式或其他匹配模式的行

[英]Using sed/awk to print lines with matching pattern OR another matching pattern

我需要使用在匹配模式不同模式的文件中打印行。 我覺得這是一件容易的事,但我似乎無法找到答案。 有任何想法嗎?

POSIX的方式

awk '/pattern1/ || /pattern2/{print}'

編輯

公平地說,我喜歡lhf更好的通過/pattern1|pattern2/因為它需要較少的鍵入相同的結果。 但是,我應該指出這個模板不能用於邏輯AND操作,因為你需要使用我的模板/pattern1/ && /pattern2/

采用:

sed -nr '/patt1|patt2/p'

其中patt1patt2是模式。 如果您希望它們與整行匹配,請使用:

sed -nr '/^(patt1|patt2)$/p'

您可以刪除-r並添加轉義:

sed -n '/^\(patt1\|patt2\)$/p'

符合POSIX標准。

awk '/PATT1|PATT2/ { print }'

你為什么不想用grep?

grep -e 'pattern1' -e 'pattern2'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM