我想匹配一些文本,包括换行符。命令如下差不多的作品,但它不匹配的第一行简单的多行sed命令不起作用
(echo foo; echo foo; echo bar) | sed '1!N; s/foo.*bar/zap\nbaz/'
foo
zap
baz
同样在这里的问题:
(echo foo; echo bar; echo bar) | sed '1!N; s/foo.*bar/zap\nbaz/'
foo
bar
bar
我已经找到了一个更复杂的sed命令它工作正常在这两种情况下,但我会而是修复简单的(如果可能的话),或者至少理解为什么它不起作用。
(echo foo; echo bar; echo bar) | sed -n '1h;1!H;${g;s/foo.*bar/zap\nbaz/p}'
zap
baz
如果字符串'\原始文件N'存在上述不希望会用一个换行符替换它。 – 2014-09-30 02:07:23