繁体   English   中英

搜索图案并在行上方打印,直到图案或空行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM