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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Alteração de campos individualmente.


From: Cléoson Barreto
Subject: Re: [shell-script] Alteração de campos individualmente.
Date: Mon, 18 Jan 2010 16:00:44 -0300

Olá!

    Para a primeira saída acho que isso resolve:

$ echo "#Teste# de #script#. Teste de #script2#. #Ultimo# teste de
#script3#" | sed 's/\#[^#]*#/\*/ ; s/#//g'

* de script. Teste de script2. Ultimo teste de script3

     Ainda não consegui um resultado para as demais saídas, mas creio que
esse "one-liner" pode servir de inspiração. :-)

-- 
[]'s
Cléoson.
http://farinhadigital.blogspot.com/


2010/1/18 mikoazul <address@hidden>

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



reply via email to

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