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

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

Re: [shell-script] AWK: Pegar 4 posicao e o restante


From: Thobias Salazar Trevisan
Subject: Re: [shell-script] AWK: Pegar 4 posicao e o restante
Date: Fri, 20 Jun 2003 14:58:32 -0300 (BRT)

ae gustavo,

On Fri, 20 Jun 2003, Gustavo Adolfo Kellermann wrote:

> e com sed (preste atencao nos espacos):
> sed -n '/teste/s/^[^ ]* \(.*\)/\1/p'
> se quiser do terceiro campo em adiante, ao inves do segundo:
> sed -n '/teste/s/^[^ ]*  *[^ ]*  *\(.*\)/\1/p' ~slot/rede
> Basta acrescentar '[^ ]*  *' para pular um campo.

o seu sed está perfeito, vou apenas dar um pitaco.
em vez de de acrescentar '[^ ]*  *' para pular um campo, você
pode usar grupos ()

$ echo 1 2 3 4 5 | sed -n 's/^\([^ ]* \)\{2\}\(.*\)/\2/p'
3 4 5
$ echo 1 2 3 4 5 | sed -n 's/^\([^ ]* \)\{3\}\(.*\)/\2/p'
4 5
$ echo 1 2 3 4 5 | sed -n 's/^\([^ ]* \)\{4\}\(.*\)/\2/p'
5

ou ainda podemos diminuir este sed tirando o último (.*) e o \2

$ echo 1 2 3 4 5 | sed -n 's/^\([^ ]* \)\{2\}//p'
3 4 5
$ echo 1 2 3 4 5 | sed -n 's/^\([^ ]* \)\{3\}//p'
4 5

Assim, é só trocar o valor entre chaves.

falow

thobias
-------
echo 9446046325380026818553633794429812592304650P | dc
-------
http://www.lcp.coppe.ufrj.br/~thobias

____________________________
|
| Against - HTML Mail
| Against - MS ATTACHMENTS
|
----------------------------



reply via email to

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