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

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

Re: [shell-script] Re: Melhoramento do script


From: Jonathan Lessa
Subject: Re: [shell-script] Re: Melhoramento do script
Date: Wed, 12 Jan 2011 07:59:16 -0300

melhora um pouco se deixar de utilizar o cat


$ time cat /var/log/squid/access.log | awk '{print $NF}' | tr '\n' ' ' | awk
'{print $0}' > result1.txt

real    0m1.877s
user    0m2.777s
sys     0m0.696s


$ time awk '{print $NF}' /var/log/squid/access.log | tr '\n' ' ' | awk
'{print $0}' > result1.txt

real    0m1.543s
user    0m2.546s
sys     0m0.338s


$ time rev /var/log/squid/access.log | cut -f 1 -d " " | rev | tr '\n' ' ' >
result2.txt

real    0m7.726s
user    0m11.946s
sys     0m0.289s


Em 11 de janeiro de 2011 17:44, Cristiano <address@hidden> escreveu:

>
>
>
>
> --- Em address@hidden <shell-script%40yahoogrupos.com.br>,
> "M. Rodrigo Monteiro" <falecom@...> escreveu
> >
> > Caros,
> >
> > Tenho esse one-liner abaixo:
> >
> > echo -e "linha 01\nlinha 02" | awk '{print $NF}' | tr '\n' ' ' | awk
> > '{print $0}'
> >
> > Estou dando um exemplo genérico. O que eu queria fazer é o seguinte:
> > pegar em um arquivo o ultimo campo (número de campos variáveis) e
> > juntá-los em uma única linha separados por espaços em branco.
> > Existe alguma forma mais simples/rápida?
>
> Eu pensei em usar o rev.
>
> Algo assim:
>
> rev /var/log/squid/access.log | cut -f 1 -d " " | rev | tr '\n' ' '
>
> Mas não fez muita diferença:
>
> root@mga0-fwall-dsl:/tmp> time cat /var/log/squid/access.log | awk '{print
> $NF}' | tr '\n' ' ' | awk '{print $0}' > result1.txt
>
> real 0m4.569s
> user 0m1.940s
> sys 0m0.420s
> root@mga0-fwall-dsl:/tmp> time rev /var/log/squid/access.log | cut -f 1 -d
> " " | rev | tr '\n' ' ' > result2.txt
>
> real 0m3.997s
> user 0m3.132s
> sys 0m0.336s
>
> Meu access.log tem 536518 linhas e 71 megas.
>
> Só não entendi a razão do útimo awk. Parando no tr não resolve seu
> problema?
>
>  
>


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



reply via email to

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