我正在从文本文件中提取看起来像
的部分 blah blah
end
config router bgp
set as 123
config neighbor
edit 1.2.3.4
set remote-as 321
next
end
blah blah
end
config router blah
blah blah
使用
awk '/^config router bgp$/,/^end$/' myfile
返回
config router bgp
set as 123
config neighbor
edit 1.2.3.4
set remote-as 321
next
end
我的问题是^ end $ regex匹配具有前导空格的config邻居的缩进“end”,所以我没有得到整个部分。
如何强制^ end $ regex在带有(领先)空格的行上不匹配?
答案 0 :(得分:0)
如果在end
之后总共有两个bgp
:
awk '/^config router bgp$/ {f=2} f; f && /end/ {f--}' myfile
config router bgp
set as 123
config neighbor
edit 1.2.3.4
set remote-as 321
next
end
blah blah
end