#  > Desenvolvimento >  > Linguagens de Programação >  >  Shell Script AWK: mostrar os campos a partir do campo X

## d00m

Pessoal,

existe alguma forma simples de mostrar os campos a partir do campo $3 por exemplo?

teste teste1 teste2 teste3 teste4

awk {'print $3 '} 

o que eu quero é que todos os campos depois do $3 sejam mostrados, porem a quantidade de valores que vem após é variável.

grato por qualquer idéia de como fazer isso

----------


## Malakh_RJ

awk '{ for (var_count = NF; var_count >= 3 ; i++ )
print $var_count
}'


Creio que algo deste tipo vá funcionar ...

NF é uma variavel interna do awk ( Number of Fields )

----------


## d00m

```
awk '{z=""; x = 9; while ( x <= NF ) { z = z" "$x ; x++; } print z}'
```

 
Com essa linha cada campo além do 9 será concatenado numa variável e depois será mostrada a linha completa.

Muito semelhante a solução acima, porém desta forma a linha será impressa sem quebra para cada campo.

Grato a todos que se interessaram.

----------


## slice

> Pessoal,
> 
> existe alguma forma simples de mostrar os campos a partir do campo $3 por exemplo?
> 
> teste teste1 teste2 teste3 teste4
> 
> awk {'print $3 '} 
> 
> o que eu quero é que todos os campos depois do $3 sejam mostrados, porem a quantidade de valores que vem após é variável.
> ...


awk {'print $3 to $n'}

flw!

Slice

----------


## d00m

:Embarrassment: ops: 
eu imaginava que tinha uma maneira mais simples, mas não encontrei referência em documentação :/

----------


## Malakh_RJ

Eu não diria que o awk e uma ferramenta simples ... mas com certeza, ele é bem eficiente .

----------

