sed/vim 换行搜索和替换

问题描述 投票:0回答:1

我想搜索具有

fudge
的行并将它们放在上一行的末尾。 有人可以向我解释为什么以下内容在 vim 中有效但在 sed 中无效吗? (即,如果我用 vim 打开名为
test
的文件并键入
%s/\(.*\)\n\(fudge\)/\1  \2/g
,它就会执行我想要的操作)。

echo -e 'foo bar baz\nfudge' > test
sed -e 's/\(.*\)\n\(fudge\)/\1  \2/g' test
sed vim
1个回答
0
投票
$ printf 'foo bar baz\nfudge\n' > file

$ sed -Ez 's/(.*)\n(fudge)/\1  \2/' file
foo bar baz  fudge
© www.soinside.com 2019 - 2024. All rights reserved.