Tenho um arquivo que uso |
como delimitador. Alguns dos registros possuem células vazias como ||
(nada dentro). Estou tentando substituí-los |""|
pelo seguinte comando sed:
sed -i 's/\|\|/\|""|/g' file
Mas o resultado não foi o que eu esperava.
Arquivo de entrada
A|B|C|D|||E
Saída desejada:
A|B|C|D|""|""|E
Observe que o início e o final dos registros não possuem "|"
Qualquer ajuda seria apreciada.
Responder1
Basta repetir a substituição até que a saída não mude:
$ echo 'A|B|C|D|||E' | sed ':X;s/||/|""|/g;tX'
A|B|C|D|""|""|E
onde
:X
define o rótuloX
t X
vá para o rótuloX
ses///
tiver sucesso