我有一個用作|
分隔符號的文件。有些記錄的儲存格為空||
(裡面什麼都沒有)。我試圖用|""|
以下 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///
成功則轉到標籤