Zaq, boa noite

  Segue uma solução para o amigo

waldi...@cerberos:~/cod$ cat zaq.sh
#!/bin/bash
IFS=#
TEXT="#primeira primeira#segunda # terceira # quarta#"

for b in $TEXT
do
  echo - $b
done

waldi...@cerberos:~/cod$ ./zaq.sh
-
- primeira primeira
- segunda
-  terceira
-  quarta
waldi...@cerberos:~/cod$

Agora basta dar uma refinada, porem o que ocorre, esta sendo definido o
delimitador padrao "IFS" como #, e o for ira imprimir todos os campos,
separados pelo delimitador padrao, agora setado para #. Caso nao seja setado
o # como IFS, o mesmo ira utilizar o espaco como padrao.

Acredito que agora vc pode filtrar os campos e trabalhar da melhor forma.

Qualquer dúvida manda ae.

[]'s
Waldirio

2010/1/18 mikoazul <zaq.t...@gmail.com>

>
>
> Oi Waldirio,
>
> A idéia é aquela mesma que eu postei originalmente.
>
> Não quero substituir todos os # por *. A idéia é a partir de uma linha de
> entrada eu gere n linhas de saída.
>
> Tudo baseado no texto entre "#" (#texto_que_eu_quero_substituir#).
>
> Para cada texto encontrado eu quero tratá-lo e ignorar o restante e ir
> fazendo na sequencia cada um. Ou seja ir encontrando cada texto entre "#".
>
> Se uma linha tiver n textos entre "#" então o resultado será "n" linhas
> tratadas. Entendeu? Sendo que o texto de entrada só poderá ter no máximo 9
> textos entre "#" (justamente a quantidade de retrovisores que o sed pode
> utilizar).
>
> Talvez seja um assunto pra ser tratado na sed-br.
>
> []s
>
> --- Em shell-script@yahoogrupos.com.br <shell-script%40yahoogrupos.com.br>,
> Waldirio Manhães Pinheiro <waldi...@...> escreveu
>
> >
> > Amigo, boa tarde
> >
> > Acredito que ajudaria mais se for um pouco mais claro. Como acredito que
> o
> > objetivo seja alterar todos os # para *, segue:
> >
> > jeju:[xxxx] > echo "#Teste# de #script#. Teste de #script2#. #Ultimo#
> teste
> > de #script3#"|sed 's/#/*/g'
> > *Teste* de *script*. Teste de *script2*. *Ultimo* teste de *script3*
> >
> > Porém, se precisar de algo a mais, peço que explique melhor a
> necessidade.
> >
> > []'s
> > Waldirio
> >
> > 2010/1/18 mikoazul <zaq.t...@...>
>
> >
> > >
> > >
> > > 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á.
> > >
> > >
> > >
> >
> >
> >
> > --
> > ______________
> > Atenciosamente
> > Waldirio
> > msn: waldi...@...
>
> > Site: www.waldirio.com.br
> > Blog: blog.waldirio.com.br
> > PGP: www.waldirio.com.br/public.html
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
>  
>



-- 
______________
Atenciosamente
Waldirio
msn: waldi...@gmail.com
Site: www.waldirio.com.br
Blog: blog.waldirio.com.br
PGP: www.waldirio.com.br/public.html


[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

<*> 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:
    shell-script-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a