[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: Remover caracteres
From: |
Alexandre de Abreu |
Subject: |
Re: [shell-script] Re: Remover caracteres |
Date: |
Tue, 26 Jul 2005 11:51:10 -0300 |
Alex,
Não sei se entendi bem o que vc queria, de qq forma, segue uma solução c/ awk:
# cat teste
bla bla); ble ble; bli bli) blo blo); a); b);
blu blu );
# awk '{ N=split($0,A,");"); for(I=1;I<N;I++) print A[I] }' < teste
bla bla
ble ble; bli bli) blo blo
a
b
blu blu
#
Dá pra fazer com sed, perl, awk, escolhe uma delas e segue, se vc for
fazer muita manipulação de string e não tiver o Perl disponível,
sugiro o awk. Boa sorte!
[]s
Alexandre de Abreu
On 26/07/05, alexbrunorj <address@hidden> wrote:
> Tentei esse comando e ele funcionou para um arquivo que criei na mao,
> porém para o arquivo que estou trabalhando ele não funciona. Acredito
> que deve ser pelo tamanho da linha, visto que meu arquivo só tem uma
> linha e terei que quebrar os registros que possuam ); em <enter> .
> O comando que chega mais perto do que quero é utilizando o tr.
>
> cat teste | tr "[);]" "[ \012]" >teste2
>
> Porém ele substitui todos os caracteres ); estando juntos ou
> não.Fazendo isso ele me quebra, pois tenho campos que possuem
> <parenteses> e campos que possuem <ponto-e-virgula>
> O que realmente quero é substituir <parenteses><ponto-e-virgula>
> juntos por <enter>.
> Abraços,
> Alex
>
>
>
>
> --- Em address@hidden, "MrBiTs" <mrbits@t...>
> escreveu
> > /*
> > O problema é que quando tento usar sed 's/[);]/\n/g' teste >
> teste2 ele
> > gera o arquivo teste2 completamente vazio...
> > */
> >
> > Lembre-se que ( ), ; e [ ] são "caracteres reservados" de
> expressoes
> > regulares. Você precisa "escapá-las" para que sua substituição
> funcione. No
> > caso do seu sed:
> >
> > sed 's/[\)\;]/\n/g' teste > teste2
> >
> > O caracter de escape é o \
>
>
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
>
>
> ________________________________
> Links do Yahoo! Grupos
>
>
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> Para sair deste grupo, envie um e-mail para:
> address@hidden
>
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
> Yahoo!.