【发布时间】:2025-11-29 09:20:36
【问题描述】:
我正在尝试用 sed 替换 3 行的块,但遇到了一个奇怪的问题……我正在使用的脚本是
/^#begin$/N;N;s/#begin\n\(.*\)\n#end/replaced \1/
在看起来像这样的输入文件上
#begin
1
#end
它工作正常,我明白了
replaced 1
但是,如果在块之前有一行,则解析失败……应用相同的脚本
a line
#begin
1
#end
不会改变任何东西。如果我添加两行(比如说“一行”,然后是“另一行”),它会再次起作用……我不明白为什么。 有什么想法吗?
谢谢!
【问题讨论】:
标签: sed