2017-07-12 122 views
-1

我已阅读有关我的问题的更多主题,但没有任何解决方案!AWK多行匹配

我在my_text文件中的这些文字:

地址dlkjfhadvkahvealkjvhfelkafver

电话4752935729527297

详细描述fkdshkhglkhrtlghltkg

其它5897696h8ghgvjhgh578hg

地址klsfghtrgjgjktsrljgsjgm

电话5789058309809583

详细描述dskjfvhfhgjvnwmrew

其它h09v3n3vt7957jt795783hj

.....

.....

.....

而且我想以3(或更多)行值过滤此文件数据,例如地址,电话,杂项。

我测试awk '/Address/,/Phone/,/Misc/' my_text但错误!

+1

尝试'awk'/地址|电话|杂项/'' –

+0

非常感谢... 我的问题解决了! – mbzadegan

+0

'grep -E“地址|电话|其他”my_text“也可以工作。 –

回答

0

您需要使用或|运营商。

匹配行:

awk '/Address|Phone|Misc/{ print $0 }' your_text

结果:

Address dlkjfhadvkahvealkjvhfelkafver 
Address dlkjfhadvkahvealkjvhfelkafver 
Phone 4752935729527297 
Misc 5897696h8ghgvjhgh578hg 
Address klsfghtrgjgjktsrljgsjgm 
Phone 5789058309809583 
Misc h09v3n3vt7957jt795783hj 

如果打印$ 1你的地址,电话或您所匹配的。和$ 2只会打印您的值。