[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Alteração de campos individualmente.
From: |
mikoazul |
Subject: |
Re: Alteração de campos individualmente. |
Date: |
Tue, 19 Jan 2010 12:54:53 -0000 |
User-agent: |
eGroups-EW/0.82 |
Oi Gunter,
Esse comando aí faz a substituição interativa do sed.
No caso o retorno seria um pouco diferente, conforme eu tentei explicar
anteriormente.
De qualquer forma, obrigado amigo pelo seu tempo e apoio.
[]s
Zaq
--- Em address@hidden, Bruno Gunter <gunter@...> escreveu
>
> Miko,
>
> Se entendi direito, o que você quer é muito simples:
> $ sed -i 's/\#/\*/g' ENTRADA
>
> olhe:
>
> [bgunter@gunter ~]$ cat a
> #Teste# de #script#. Teste de #script2#. #Ultimo# teste de #script3#
> [bgunter@gunter ~]$ sed -i 's/\#/\*/g' a
> [bgunter@gunter ~]$ cat a
> *Teste* de *script*. Teste de *script2*. *Ultimo* teste de *script3*
> [bgunter@gunter ~]$
>
>
>
> []'s
> Gunter
>
>
> Em Seg, 2010-01-18 às 16:36 +0000, mikoazul escreveu:
>
> >
> >
> > Pessoal,
> >
> > Tive que recorrer à lista pois meu caso está bem complicado (pelo
> > menos pra mim). Já tentei alguns comandos sed e outros awk, mas não
> > consigo resolver o impasse.
> >
> > Estou tentando transformar o arquivo "ENTRADA" nas várias saídas
> > demonstradas abaixo.
> >
> > A idéia é ir pegando cada campo entre "#" e substituí-lo com * (por
> > exemplo). O detalhe é que em cada linha tem-se um resultado diferente.
> > Ou seja, ele vai tratando o próximo campo e automaticamente
> > "destratando" o anterior. Ou seja a idéia é tratar um campo por vez.
> >
> > Se tiver alguém inspirado hoje e que puder me ajudar eu agradeço desde
> > já.
> >
> > Vamos aos detalhes:
> >
> > Entrada:
> > #Teste# de #script#. Teste de #script2#. #Ultimo# teste de #script3#.
> >
> > Saidas:
> > * de script. Teste de script2. Ultimo teste de script3.
> > Teste de *. Teste de script2. Ultimo teste de script3.
> > Teste de script. Teste de *. Ultimo teste de script3.
> > Teste de script. Teste de script2. * teste de script3.
> > Teste de script. Teste de script2. Ultimo teste de *.
> >
> > Tentei com o sed e o máximo que consegui foi:
> >
> > cat ENTRADA | sed 's/^\(\([^#]*#\)\{1,2\}\)0*/*/'
> >
> > Saída:
> > * de #script#. Teste de #script2#. #Ultimo# teste de #script3#.
> >
> > Grato desde já.
> >
> >
> >
> >
> >
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>