我正在尝试sed
从长文件(Junos 配置)中提取像这样的大括号分隔的配置块:
group foo {
command;
setting {
value;
}
command;
}
Run Code Online (Sandbox Code Playgroud)
诀窍是停在}
与第一行缩进相同的地方。
我学习了如何使用sed
从一种模式匹配到另一种模式,并尝试了以下操作:
$ sed -rn '/^( *)group foo/,/^\1\}/p' config.txt
sed: -e expression #1, char 41: Invalid back reference
Run Code Online (Sandbox Code Playgroud)
问题是/^( *)group foo/
和/^\1\}/
是两个独立的模式,并且反向引用在它们之间不起作用吗?如果是这样,我怎样才能做到这一点?