[英]Search pattern and print above lines till a pattern or empty line
我有一个文件包含
zone name CTCFNFEVA-1DTX-CLUS3-SMA vsan 21
pwwn 10:00:00:00:c9:82:71:c3
pwwn 50:00:1f:e1:50:1e:d0:b9
pwwn 50:00:1f:e1:50:1e:d0:bb
pwwn 50:00:1f:e1:50:1e:d0:bd
pwwn 50:00:1f:e1:50:1e:d0:bf
zone name CTCFNFXCHC3P1-VTL-1DTX vsan 21
pwwn 50:02:37:d3:44:57:00:01
pwwn 50:02:37:d3:44:57:00:12
pwwn 10:00:00:00:c9:97:08:9e
zone name CHIIEHW02SS_HBAAE69_VMAX0424_FA2G0 vsan 21
* fcid 0x160005 [pwwn 50:00:09:74:08:06:a1:84]
pwwn 10:00:00:00:c9:62:ae:69
我必须搜索50:02:37:d3:44:57:00:12
并将其上方和下方的行打印为空行。
例如,输出应为
zone name CTCFNFXCHC3P1-VTL-1DTX vsan 21
pwwn 50:02:37:d3:44:57:00:01
pwwn 50:02:37:d3:44:57:00:12
pwwn 10:00:00:00:c9:97:08:9e
我该怎么做?
awk
解救!
$ awk -v RS= '/50:02:37:d3:44:57:00:12/' file
说明:将awk
设置为段落模式( -v RS=
),仅打印段落匹配模式。
Perl:
perl -nle 'BEGIN{$/="";} print if /50:02:37:d3:44:57:00:12/;' file
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.