小编Jac*_*ose的帖子

sed 可以在定义范围的模式中进行反向引用吗?

我正在尝试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\}/是两个独立的模式,并且反向引用在它们之间不起作用吗?如果是这样,我怎样才能做到这一点?

sed regular-expression

5
推荐指数
1
解决办法
1041
查看次数

标签 统计

regular-expression ×1

sed ×1