首页 > 解决方案 > 如何替换文本中的连续模式

问题描述

我有像1|2|3|||这样的文字 , 并尝试替换每个|| |0| ,我的命令如下

      echo  '1|2|3|||'  | sed -e 's/||/|0|/g' 

但得到结果 1|2|3|0|| ,模式只被替换一次。

有人可以帮我改进命令吗,谢谢

标签: regexsed

解决方案


只做2次

l_replace='s#||#|0|#g'
echo  '1|2|3||||||||4||5|||'  | sed -e "$l_replace;$l_replace"

在此处输入图像描述


推荐阅读