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

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

Re: [shell-script] Awk x Cut


From: Robson Alexandre
Subject: Re: [shell-script] Awk x Cut
Date: Fri, 27 Jul 2012 12:50:05 -0300

Valeu Tiago,

nunca tinha pensado nessa possibilidade de apagar o q vc nao quer imprimir.

Boa Dica

Robson Alexandre

Em 27 de julho de 2012 12:26, Tiago Peczenyj <address@hidden>escreveu:

> Ola
>
> isso realmente é um pé no saco de fazer com awk. tem algumas mutretas.
>
> por exemplo, vc pode apagar os campos $1 e $2 e imprimir a linha inteira
> (vai criar espaços extra na frente)
>
> { $1=$2=""; print $0 }
>
> ou vc pode usar um laço for (eca) e brincar com printf / print ou
> concatenar em uma variavel
>
> {for(i=2;i<=NF;i++) printf("%s",$i); print ""; }
>
> Seria interessate se pudesse ser feito algo como $(2..10) mas não é
> suportado.
>
> 2012/7/27 Robson Alexandre <address@hidden>
>
> > **
> >
> >
> > Aproveitando o questionamento pertinente, como faço
> > cut -d" " -f3-
> > para um número variável de campos no awk?
> > Considerando o conhecimento da variável interna do awk NF number field.
> > Att
> > Robson Alexandre
> > Em 27/07/2012 09:25, "Tiago Peczenyj" <address@hidden>
> escreveu:
> >
> >
> > > 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]
> > >
> > >
> > >
> > > ------------------------------------
> >
> > >
> > > ----------------------------------------------------------
> > > Esta lista não admite a abordagem de outras liguagens de programação,
> > como
> > > perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> > > prévio aviso.
> > > ----------------------------------------------------------
> > > Sair da lista: address@hidden
> > > ----------------------------------------------------------
> > > Esta lista é moderada de acordo com o previsto em
> > > http://www.listas-discussao.cjb.net
> > > ----------------------------------------------------------
> > > Servidor Newsgroup da lista: news.gmane.org
> > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >
> > > Links do Yahoo! Grupos
> >
> > >
> > >
> > >
> >
> > [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]
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
>
>


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



reply via email to

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