区切り文字として使用するファイルがあります|
。レコードの一部には空のセル (中身がない) があります。次の 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///