shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: uso do sed


From: Sérgio
Subject: Re: uso do sed
Date: Mon, 28 Sep 2009 17:44:45 -0000
User-agent: eGroups-EW/0.82

Lembr-se que o cifrão $ tem significado especial para o shell
e portanto você deve passar a string dentro de aspas simples 
a não ser que você queira expandir o conteúdo de uma variável passada 
ao sed


--- Em address@hidden, jimmy <jimmy.tty@...> escreveu
>
> 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||JANDIRJUNIOR@...||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."
> ------------------------------
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]