Colega,

o script funcionou blz.. mas gostaria de saber se tem como fazer isso
sem usar o pipe no meio dos dois comandos sed...


sed 's/\]\^NULL\^\[//g' entrada.txt | sed 's/| *|/||/g'> saida.txt



--- Em [email protected], "Tiago Barcellos Peczenyj"
<[EMAIL PROTECTED]> escreveu
>
> Humm...
> 
> sed 's/padrão/substituição/g' arquivo > arquivo novo
> 
> qual o padrão para ]^NULL^[ ? bom, os colchetes e o ^ são
metacaracteres e
> precisam ser escapados com uma contra-barra na frente
> 
> qual padrão para | | ? tanto pode ser | | literal quanto I\ *|  caso vc
> tenha um numero variavel de caracteres espaço.
> 
> para apagar estes caras basta
> 
> sed 's/padrão//g'
> 
> e para executar 2 comandos, basta separa-los por ; dentro das aspas ;-)
> 
> On 1/17/07, Eduardo de Paula <[EMAIL PROTECTED]> wrote:
> >
> >   Boa tarde turma,
> >
> > a dúvida que tenho é simples..
> >
> > usando o sed eu gostaria de limpar um arquivo retirando dele duas
coisas:
> >
> > - as vezes dentro do arquivo ele aparece com um campo ]^NULL^[
> >
> > - e as vezes aparece espaços em branco entre os pipes | |
> >
> > ou seja, desejo retirar os espaços em branco " " e tb o "]^null^["
> >
> > 105008|RESTITUIÇÃO DE ÁREA - TERRAS PÚBLICAS - DOMÍNIO PÚBLICO -
> > ADMINISTRATIVO
> > |339091|N|]^NULL^[ |21|01050205|]^NULL^[
> > |RESTITUIÇÃO ÁREA/TERRAS PÚBLICAS/DOMÍNIO
> > PÚBLICO/ADMINISTRATIVO
> >
> > Abraços
> >
> > Eduardo
> >  
> >
> 
> 
> 
> -- 
> Tiago B Peczenyj
> Linux User #405772
> 
> # cd /pub
> # more beer
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a