我有一个用作|
分隔符的文件。有些记录的单元格为空||
(里面什么也没有)。我试图用|""|
以下 sed 命令替换它们:
sed -i 's/\|\|/\|""|/g' file
但结果并不是我所期望的。
输入文件
A|B|C|D|||E
期望的输出:
A|B|C|D|""|""|E
注意记录的开头和结尾没有“|”
任何帮助,将不胜感激。
答案1
只需重复替换,直到输出不改变:
$ echo 'A|B|C|D|||E' | sed ':X;s/||/|""|/g;tX'
A|B|C|D|""|""|E
在哪里
:X
设置标签X
t X
X
如果s///
成功则转到标签