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: Gustavo Adolfo Kellermann
Subject: Re: [shell-script] AWK: Pegar 4 posicao e o restante
Date: Fri, 20 Jun 2003 14:52:50 -0300

Bom, o problema jah foi resolvido, mas nao resisto em lembrar que tem uma
solucao com awk:

awk '/teste/ {for (i=2; i<=NF; i++) {printf "%s ",$i}; printf "\n"}'
~slot/rede

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.

Entretanto, essa solucao com sed tem uma diferenca das outras. Ela nao vai
imprimir uma linha vazia quando encontrar uma linha com menos de 2 campos:
ele vai descartar a linha.

On Wed, 18 Jun 2003 18:41:46 -0300
Listas XTMS <address@hidden> wrote:

> Usando o cut (e imaginando que seu IFS seja espaço em branco):
> 
> $ fgrep teste ~slot/rede |cut -d " " -f2-
> 
> []'s
> Eri
> 
> On Wed, 18 Jun 2003 18:28:11 -0300
> Slot <address@hidden> wrote:
> 
> > Olá pessoal, é a primeira vez que estou postando aqui, demorei uma
> > data para achar uma lista de shell legal como essa.
> > 
> > Bão o negócio é o seguinte
> > 
> > Como eu faço uma pesquisa dentro de um arquivo e quero imprimir a 4
> > posição, mas não sei quantas posições ainda tem pra frente.... como
> > faço para q ele pegue isso pra mim.
> > 
> > Exemplo
> > 
> > cat ~slot/rede | fgrep teste | awk "{print "'$2'"}"
> > 
> > assim ele me imprime a segunda posição, e para imprimir o resto depois
> > da segunda posição? Lembrando que não sei a quantidade que tem pra
> > frente.
> > 
> > 
> > Valeu
> > 
> > 
> > -- 
> > Slot
> > -------------------
> > Licq: 19596909
> > Linux User: 124842
> > 
> > 
> > ---------------------------------------------------------------------
> > 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: address@hidden
> > ---------------------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> > http://www.listasdiscussao.cjb.net
> > ---------------------------------------------------------------------
> >  
> > 
> > Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> > http://br.yahoo.com/info/utos.html 
> > 
> > 
> > 
> 
> 
> -- 
> 
> 
> ---------------------------------------------------------------------
> 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: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>  
> 
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html 
> 
> 
> 
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: VirusScan / Atualizado em 18/06/2003 / Versão: 1.3.13
> Proteja o seu e-mail Terra: http://www.emailprotegido.terra.com.br/
> 
> 


-- 
**************************
Gustavo Adolfo Kellermann
address@hidden
Terra Networks Brasil S.A.
**************************


reply via email to

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