如何在GNU sed中结束`i`命令?

马丁·菲克斯曼

我试图用来sed对输入字符串进行多次替换和插入。

但是,我最近注意到,insert命令i不会;像其他命令那样终止,而是打印其余字符串。

$ sed "s/^foo/bar/; 1i foo foo foo; s/foo$/baz/;"

在以下输入上运行该命令时,

foo bar baz

我得到以下错误输出。

foo foo foo; s/foo$/baz/;
bar bar baz

终止该命令的正确方法是什么?

维克多·史翠比维

您可以-e在单个命令中使用多个分开的查询:

sed -e 's/^foo/bar/' -e '1i foo foo foo' -e 's/foo$/baz/' <<< "foo bar baz"

请参阅在线sed演示输出:

foo foo foo
bar bar baz

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章