Opa, desculpe o sumiço... Caramba, quanta ideia interessante... realmente preciso de uma explicação sobre essa sacada genial ai com o eval... pq realmente fiquei boiando... mas vai ser muito edificante aprender mais uma tecnica.
Aproveitando, analisei esse bloco <sed '/Model=/s/Model=\([^,]*\).*$/\1/'> e não sabia que dava pra trabalhar delimitadores dessa forma como na lista. Isso vai ser uma mão na roda fantastica pra mim. Só não entendi o seguinte. eu testando, coloquei um 0 no lugar da virgula, ou seja, <sed '/Model=/s/Model=\([^0]*\).*$/\1/'> e ate onde me lembro, o * é guloso, sendo assim ele não deveria casar com "Samsung 0411N, Serial=000000" ao inves de "Samsung " ? Abraços, Jeferson 2009/12/2 Julio C. Neves <[email protected]> > Pô Fabiano, > essa foi demais!!! Grande sacada!!! Quem te disse que não é elegante? > Elegantíssimo... > > Achei a sacada do eval fantástica. Se vc não se incomodar, vou botar este > exemplo no meu livro. > > Se não fosse o uso do eval, poderia assegurar que esta solução é bem mais > rápida que a que fiz usando sed, mas assim mesmo ainda acho que deve ser > mais veloz. Será que o dono do arquivo pode testar isso e postar na lista? > > Fabiano aproveite e explique para o pessoal da lista a tua solução pq muita > gente não deve ter entendido. > > Abraços, > Julio > Cursos de Shell e Zenity em 2 fins de semana? > - Em SP ligue (11) 2125-4747 Curso de 07 a 11/12; > - Em DF ligue (61) 3223-3000 Curso de zenity 09-10/01; > - No RJ ligue (21) 2561-0867 Curso nos dias 5,6,12,13/12; > - Turmas fechadas em outras cidades ligue (21) 8112-9988. > > > 2009/12/1 Fabiano Caixeta Duarte <[email protected]> > > > > > > > 2009/12/1 Jeferson Santos <[email protected] > <jefersondossantos%40gmail.com> > > >: > > > Olá Lista, > > > Tenho uma linha que é mais ou menos assim: > > > > > > Model=Samsung 0411N, Serial=00000005464, blablabla=asdadqddq > > > > > > Acontece que eu quero pegar apenas o modelo exato, que seria "Samsung > > > 0411N". > > > Atualmente eu faço sed 's/Model=//;s/,.*$//' > > > Mas sei que com sed tem como eu ser mais elegante que isso e pegar o > que > > > fica entre Model= e a virgula, mas sem pegar elas. > > > > > > Podem me ajudar? > > > > > > Abraços > > > > > > > > > > > > -- > > > Abraços, > > > Jeferson Santos > > > > > > > > > [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: [email protected] > <shell-script-unsubscribe%40yahoogrupos.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 > > > > > > > > > > > > > Não é elegante, mas é bash-only ;) > > > > linha=$(<arquivo); linha=${linha// /_};eval ${linha%%,*}; echo > ${Model//_/ > > } > > > > Se não houvesse espaços, ficaria mais simples: > > linha=$(<arquivo); eval ${linha%%,*}; echo $Model > > > > -- > > Fabiano Caixeta Duarte > > Especialista em Redes de Computadores > > Linux User #195299 > > Ribeirão Preto - SP > > > > > > > [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: [email protected] > --------------------------------------------------------------------- > 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 > > > -- Abraços, Jeferson Santos [As partes desta mensagem que não continham texto foram removidas]
