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

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

Re: [shell-script] Dicas sobre o delimitador de campos padrão do awk


From: Julio C. Neves
Subject: Re: [shell-script] Dicas sobre o delimitador de campos padrão do awk
Date: Wed, 30 May 2007 18:35:22 -0300

Aê Tiago assim não vale... Qdo o Flavio colocou $3-9 ele queria dizer do
campo3 ao nono. Subtrair tb dá para fazer em shell puro, veja:

$ vet=(um dois tres quatro cinco)
$ echo ${vet[5-3]}
tres
$ echo ${vet[5-5]}
um

Acho que o que ele quer é mais parecido com isso:

$ read fruta1 resto <<< "Pera Uva Maçã"
$ echo $fruta1
Pera
$ echo $resto
Uva Maçã

Mas em awk, isso é problema seu. Me inclua fora dessa... :)

Abração,
Julio

Em 30/05/07, Tiago Barcellos Peczenyj <address@hidden> escreveu:
>
>   Claro
>
> $ seq 30 | tr '\n' ' ' | awk '{print $4}'
> 4
> $ seq 30 | tr '\n' ' ' | awk '{print $(5-1)}'
> 4
>
> Simples, não ?
>
> On 5/30/07, Flavio Junior <address@hidden <billpp%40gmail.com>> wrote:
> >
> > Já que se prontificou a postar uma "dica" sobre o awk ...
> >
> > Como fazer no awk referencia ao resto dos campos ?
> > Exemplo:
> > awk '{print $1,$3,$4,$5,$6,$7,$8,$9...}'
> > Substituir isso por, algo como:
> > awk '{print $1,$3-9}'
> >
> > Tem como ser feito ?
> >
> > Flavio do Carmo Junior
> >
> > On 5/30/07, voyeg3r <address@hidden 
> > <voyeg3r%40yahoo.com.br><voyeg3r%40yahoo.
> com.br>> wrote:
> > >
> > > Para quem conhece o awk pule esta definição dada pelo zago:
> > >
> > > O que significa awk?
> > >
> > > Awk é uma linguagem com muitas funcionalidades, excelente na
> > > manipulação de strings e arquivo texto, muito útil pra usar na linha
> > > de comando, em scripts, em combinação com outros aplicativos como cat,
> > > ls e etc...
> > >
> > > ===== A dica =========
> > > O delimitador de campos padrão do awk é o espaço, e portanto se quizer
> > > que ele imprima a saída também com espaços basta colocar uma vírgula
> > > entre os campos, no exemplo abaixo retiro o espaço existente entre os
> > > campos 2 e 3
> > >
> > > echo "um dois tres quatro" | awk '{print $1,$2$3,$4}'
> > >
> > > E para deixar o pessoal com agua na boca veja um exemplo em que troco
> > > os campos 4 e 1 de lugar
> > >
> > > echo "um dois tres quatro" | awk '{print $4,$2,$3,$1}'
> > >
> > > Ou ainda pego o meu endereço IP
> > >
> > > ifconfig eth0 | awk '/inet end/ {print $3}'
> > >
> > > Referências:
> > > * http://www.zago.eti.br/script/awk.html
> > > * http://sergioaraujo.pbwiki.com/awk
> > >
> > > " °v°
> > > " /(_)\
> > > " ^ ^
> > >
> > > :wq
> > >
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> Tiago B Peczenyj
> Linux User #405772
>
> # cd /pub
> # more beer
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Abraços,
Julio
http://www.julioneves.com - Um livro sobre Bash completo e on-line
:wq


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



reply via email to

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