假设我有一个字符串'abbc'并且我想要进行如下替换:
- ab -> bc
- bc -> ab
如果我尝试进行两次替换,结果并不是我想要的:
echo 'abbc' | sed 's/ab/bc/g;s/bc/ab/g'
abab
那么,我可以使用什么sed命令来替换如下内容?
echo abbc | sed SED_COMMAND
bcab
编辑:
事实上,文本可能有两种以上的模式,而我不知道需要多少替换。由于有一个答案说 sed
是流编辑器,其替换是贪婪的,所以我认为我需要使用一些脚本语言来完成这个任务。
s///
命令中删除g
标志,那么它就可以工作了。 - Etan Reisnerab
或bc
吗? - Etan Reisner