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

[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!.


reply via email to

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