我正在从看起来像
的文本文件中提取部分 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 neighbor的缩进"结束",所以我没有得到整个部分。
我如何强制 ^end $ regex不与(领先的)空白匹配?
如果总是有两个 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