AWK 多行匹配

AWK multiline match

我已经阅读了更多有关我的问题的主题,但没有解决任何问题!

我在 my_text 文件中有这些文本:

地址 dlkjfhadvkahvealkjvhfelkafver

Phone 4752935729527297

说明 fkdshkhglkhrtlghltkg

杂项 5897696h8ghgvjhgh578hg

地址 klsfghtrgjgjktsrljgsjgm

Phone 5789058309809583

说明 dskjfvhfhgjvnwmrew

杂项 h09v3n3vt7957jt795783hj

.....

.....

.....

我想按 3(或更多)行值过滤此文件数据,例如地址、Phone、杂项。

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

您需要使用或 |运算符。

匹配行:

awk '/Address|Phone|Misc/{ print [=11=] }' your_text

结果:

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

如果你打印 $1 你会得到地址,phone 或者你匹配的。 $2 将只打印您的值。