如何让段落包含shell脚本中的关键词?

zha*_*ing 3 shell awk grep cut

我想得到包含关键词的整段.

例如,以下是输出 "ifconfig -a"

bond0     Link encap:Ethernet  HWaddr 00:11:3F:C1:47:98  
          inet6 addr: fe80::211:3fff:fec1:4798/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:1881856 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1059020 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2618747813 (2.4 GiB)  TX bytes:182058226 (173.6 MiB)

bond0:oam Link encap:Ethernet  HWaddr 00:11:3F:C1:47:98  
          inet addr:135.2.156.97  Bcast:135.2.156.111  Mask:255.255.255.240
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1

bond0:oamA Link encap:Ethernet  HWaddr 00:11:3F:C1:47:98  
          inet addr:135.2.156.103  Bcast:135.2.156.111  Mask:255.255.255.240
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
Run Code Online (Sandbox Code Playgroud)

我想用粗体提取段落.也就是说,该段落包含"bond0:oamA" 我知道的关键词,如果我使用grep,只使用行

bond0:oamA Link encap:Ethernet  HWaddr 00:11:3F:C1:47:98 
Run Code Online (Sandbox Code Playgroud)

将得到.但我想提取整段包含的关键词.

有没有办法获得这一段?

非常感谢!

kev*_*kev 5

试试这个命令:

ifconfig -a | awk -vRS='' '$1~/bond0:oamA/'
Run Code Online (Sandbox Code Playgroud)

RSnull时,awk解析文件作为多行记录.