我刚刚发现了这个:
sed '/label/{n;n;s/{}/{some comment}/;}'
预期效果是寻找label
,向下行2行(n;n;
),然后替换为(s
)some comment
。
这是一项令我惊讶的功能,我从未知道sed
。
有人会非常友好地指定这个大括号表示法的名称,以及大括号内的运算符类的名称吗?
我想谷歌并阅读更多:)
真诚的谢谢。
答案 0 :(得分:5)
Curly括号允许对多个命令进行分组,以便它们在相同的地址范围(reference)下执行。这里的事情是你指定一个地址(带有一个或两个行号或模式),然后将一组命令应用于匹配的行。
n
命令没有什么特别之处,它记录在man
以及链接文档中。我不确定它是否有通用名称。
来自man sed
:
n N读取/附加下一行输入到模式空间。