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] >
