[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Awk x Cut
From: |
Tiago Peczenyj |
Subject: |
Re: [shell-script] Awk x Cut |
Date: |
Fri, 27 Jul 2012 09:25:25 -0300 |
Ola
o awk tem uma vantagem que é vc ter campos separados por um ou mais
caracteres separadores, por exemplo:
prompt $ cat xxx
a b
a c
a d
prompt$ cut -d' ' -f2 xxx
b
prompt$ awk '{print $2}' xxx
b
c
d
no caso do cut ele é exato: vai trazer o segundo campo separado por UM
caracter espaço. em tese ele deveria ser mais rapido que o awk por ter
menos overhead (afinal vc só quer imprimir uma parte do stream de dados,
não quer lidar com arrays, funções, loops, expressões regulares, etc) MAS a
diferença é irisória para arquivos pequenos. Para arquivos maiores talvez
nem awk nem cut resolvam.
Agora é muito comum vc ter uma expressão grande envolvendo cut, grep, etc,
e varios pipes, que poderiam ser feitos com um unico awk. nesses casos a
vantagem é vc ter menos processos e menos overhead de sincronizar I/O entre
os processos se tudo estiver dentro do mesmo awk, por exemplo.
2012/7/27 Petterson Faria <address@hidden>
> **
>
>
> Bom nunca fiz nenhum teste profundo comparando os dois recursos.
> Existe uma diferença grande de desempenho entre os dois?
>
> $ time du -sh ~/Downloads/|cut -f1
> real 0m0.118s
> user 0m0.028s
> sys 0m0.088s
>
> $ time du -sh ~/Downloads/|awk '{print $1}'
> real 0m0.120s
> user 0m0.016s
> sys 0m0.104s
>
> Pensei no tempo de processamento ser afetado pelo cache do processador,
> então melhor perguntar à quem já teve alguma experiência com isso.
>
> --
> Atenciosamente,
> *Petterson Faria*
>
> *"*Where there is a shell there is a way" (UNIX)
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
--
Tiago B. Peczenyj
Linux User #405772
http://pacman.blog.br
[As partes desta mensagem que não continham texto foram removidas]