On Mon, Sep 28, 2009 at 11:40:07AM -0300, rondineli saad wrote: > > > Ola pessoal, > estou tendo dificuldade em gerar um determinado resultado. Eu tenho uma > sequência de registros que terminam com || (dois pipes). Eu preciso > alterar || (dois pipes) por |0|0 (pipe zero pipe zero). Tentei fazer o > seguinte: > O registro está da seguinte forma: > 400|28238565871|1|14/06/1981||jandirjun...@ig.com.br||JANDIR DE SANT'ANA > > JÚNIOR|1|1|Brasil|1|Solteiro(a)|0|321379299|SSP|2|SP|45109|00234|00797816098|2|B > |VERA LUCIA DE SOUZA SANT"ANA|JANDIR SANT"ANA|| > > Eu executei o comando: > cat nome-do-arquivo-com-registro | sed -e "s/\$\/||/|0|0/g" > Contudo não deu certo. Usei o comando com awk, mas ele gera apenas o > final da coluna. Alguem poderia me ajudar? > Abçs, > Rondineli Saad
me parece um caso simples de substituição com o sed: $ sed 's/||$/|0|0/' arquivo se quiser usar o awk, pode fazer o seguinte: $ awk -F'|' '/\|\|$/ { OFS = FS; $(NF-1) = 0; $NF = 0 } { print }' arquivo -- "Não manejo bem as palavras Mas manipulo bem as strings." ------------------------------