假设我有'abbc'字符串,我想替换:
- ab-> bc
- 公元前-> ab
如果我尝试两次替换,结果不是我想要的:
echo 'abbc' | sed 's/ab/bc/g;s/bc/ab/g'
abab
那么我可以使用什么sed命令来替换如下所示?
echo abbc | sed SED_COMMAND
bcab
编辑:实际上,文本可能有2种以上的模式,我不知道我需要多少替换。既然有一个回答说sed
是一个流编辑器,并且它的替换很贪心,所以我认为我需要为此使用某种脚本语言。
ab
或 bc
在原来的输入。
g
从这两个s///
命令中删除该标志即可。