O cmd 'tr' n resolve isso não? 2010/1/18 Fernando Luizao <fernando_o...@yahoo.com.br>: > Desculpem o double post, só uma correção: > > a='#Teste# de #script#. Teste de #script2#. #Ultimo# teste de #script3#' > > while echo $a | grep '#' > /dev/null > > do > > echo $a | sed 's/#[^#]*#/* /' > > a=`echo $a | sed 's/#//1; s/#//1'` > done # eu tinha colocado 'end'! > > Agora eu testei, e está funcionando. > > Abraço > > --- Em seg, 18/1/10, Fernando Luizao <fernando_o...@yahoo.com.br> escreveu: > > De: Fernando Luizao <fernando_o...@yahoo.com.br> > Assunto: Re: [shell-script] Alteração de campos individualmente. > Para: shell-script@yahoogrupos.com.br > Data: Segunda-feira, 18 de Janeiro de 2010, 17:15 > > > > > > > > > > > > > > > > > > Algumas idéias: > > > > a='#Teste# de #script#. Teste de #script2#. #Ultimo# teste de #script3#' > > > > Teste se a string contém '#', se não tiver, acabamos. Pode usar isso em um > laço: > > > > echo $a | grep '#' > > > > Substituindo a primeira ocorrência do que está entre '#' por '*' > > > > echo $a | sed 's/#[^#]*#/* /' > > > > Removendo as duas primeiras ocorrências do caracter '#' > > > > a=`echo $a | sed 's/#//1; s/#//1'` > > > > Juntando tudo isso acredito que resolva o problema =) > > > > Um esboço (não testado): > > > > while echo $a | grep '#' > /dev/null > > do > > echo $a | sed 's/#[^#]*#/* /' > > a=`echo $a | sed 's/#//1; s/#//1'` > > end > > > > Abraço > > > > --- Em seg, 18/1/10, mikoazul <zaq.t...@gmail. com> escreveu: > > > > De: mikoazul <zaq.t...@gmail. com> > > Assunto: [shell-script] Alteração de campos individualmente. > > Para: shell-script@ yahoogrupos. com.br > > Data: Segunda-feira, 18 de Janeiro de 2010, 14:36 > > > > > > > > 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á. > > > > ____________ _________ _________ _________ _________ _________ _ > > Veja quais são os assuntos do momento no Yahoo! +Buscados > > http://br.maisbusca dos.yahoo. com > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > > > > > > > > > ____________________________________________________________________________________ > Veja quais são os assuntos do momento no Yahoo! +Buscados > http://br.maisbuscados.yahoo.com > > [As partes desta mensagem que não continham texto foram removidas] > > > > ------------------------------------ > > --------------------------------------------------------------------- > 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: shell-script-unsubscr...@yahoogrupos.com.br > --------------------------------------------------------------------- > Esta lista é moderada de acordo com o previsto em > http://www.listas-discussao.cjb.net > --------------------------------------------------------------------- > Servidor Newsgroup da lista: news.gmane.org > Grupo: gmane.org.user-groups.programming.shell.brazil > > Links do Yahoo! Grupos > > >
-- Raul Libório http://rauhmaru.blogspot.com/ rauhmarutsªhotmailºcom Linux user#4444581 "There are only 10 types of people in the world - Those who understand binary, and those who don't."