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

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

Re: Melhoramento do script


From: Cristiano
Subject: Re: Melhoramento do script
Date: Tue, 11 Jan 2011 20:44:48 -0000
User-agent: eGroups-EW/0.82


--- Em address@hidden, "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?




reply via email to

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