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

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

Re: [shell-script] pegar um trecho


From: Julio C. Neves
Subject: Re: [shell-script] pegar um trecho
Date: Tue, 1 Dec 2009 13:25:56 -0200

Jeferson, veja a minha resposta após a resposta do Marcio.

2009/12/1 Marcio Gil <address@hidden>

>
>
> $ linha="Model=Samsung 0411N, Serial=00000005464,
> blablabla=asdadqddq"
> $ echo $linha | sed 's/Model=\([^,]*\).*$/\1/'
> Samsung 0411N
> $
>
> O "sed" acima substitui a linha pelo que está após "Model=" e que
> não contenha ",". Cuidado apenas com as linhas que não contem
> "Model=", pois neste caso o "sed" retornaria a linha inteira.
>
Marcio, a sua sacada foi excelente, mas esta última limitação que vc
colocou, pode ser contornada se fizermos:

$ sed '/Model=/s/Model=\([^,]*\).*$/\1/' Arquivo

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.




>
>
> > -----Original Message-----
> > From: Jeferson Santos
> >
> > 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
> >
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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