我想匹配一些文本,包括換行符。命令如下差不多的作品,但它不匹配的第一行簡單的多行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