我想grep
STX= .......
直到它的第一个分隔符'
并且
IRF= .....
直到它的第一个分隔符'
。
喜欢:
:STX=ANAA:1+asdf+5060128703127:P'
IRF=16165193117+160624+160624 '
答案1
感谢 @terdon 和 @jhilmer 让引用变得不那么棘手
如果你想要'
$ grep -oE "(STX|IRF).*'" file
STX=ANAA:1+asdf+5060128703127:P'
IRF=16165193117+160624+160624 '
如果你不想'
$ grep -oE "(STX|IRF)[^']*"
STX=ANAA:1+asdf+5060128703127:P
IRF=16165193117+160624+160624
解释
-o
只显示匹配的部分-E
使用 ERE,以便我们可以用来|
搜索多个模式"
开始引用/停止引用(THIS|THAT)
匹配THIS
或THAT
.*
匹配任意数量的任意字符\'
文字'
[^']*
任意数量的任意字符,除了'