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

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

Re: [shell-script] awk: linhas pares e ímpares


From: Bruno Gola
Subject: Re: [shell-script] awk: linhas pares e ímpares
Date: Tue, 7 Feb 2006 17:45:53 -0200

Emerson, leia o meu outro e-mail, a dúvida do Rodrigo foi especifica: saber
se uma linha é impar OU par. Então, se você vai jogar essa verificação
dentro de uma outra condição, o uso de uma variavel auxiliar pode falhar.

Existem casos e casos, se existe o NR para facilitar, porque não usa-lo ?

Até,

On 2/7/06, Emerson Domingues Souto <address@hidden> wrote:
>
> Bruno,
>
> o comando do Thiago funciona perfeitamente,
> creio q a idéia dele é a seguinte: as linhas pares e impares se alternam,
> ora é impar, ora é par,
> o controle está na var que ora é isso ora é aquilo.
>
> Espero ter explicado bem, o importante é q se vc testar, verá q o comando
> do Thiago funciona sim.
>
>   ----- Original Message -----
>   From: Bruno Gola
>   To: address@hidden
>   Sent: Tuesday, February 07, 2006 4:17 PM
>   Subject: Re: [shell-script] awk: linhas pares e ímpares
>
>
>   Tiago, e aonde entra a questão da linha par ou linha impar nesse seu
> awk?
>
>   Acho que você não leu toda a thread =)
>
>   Té mais,
>
>   On 2/7/06, Tiago Barcellos Peczenyj <address@hidden> wrote:
>   >
>   > Pra que usar NR ?
>   >
>   > awk '{if (var == "isso") {var="aquilo"} else { var="isso" } ; print
> var }'
>   > arquivo
>   >
>   > Em 07/02/06, Eliphas Levy Theodoro <address@hidden> escreveu:
>   > >
>   > >  Rodrigo Monteiro escreveu:
>   > > > Gostaria de saber (se possível em awk) como pegar um arquivo texto
> e
>   > > > se for uma linha ímpar imprimir isso na tela se for par imprimir
>   > > > aquilo.
>   > >
>   > > Simples, você pega o número da linha e divide por dois. Se tiver
> resto,
>   > > faz algo, se não tiver, faz outra coisa.
>   > >
>   > > Em shell, só pra não ficar off-de-tudo:
>   > >
>   > > ---começa parouimpar.sh
>   > > #!/bin/sh
>   > > i=0
>   > > while read line; do
>   > >   i=$((i+1))
>   > >   if [ "$((i%2))" == "0" ]; then
>   > >     echo -n "p: "
>   > >   else
>   > >     echo -n "i: "
>   > >   fi
>   > >   echo $line
>   > > done < .bashrc
>   > > ---termina parouimpar.sh
>   > >
>   > > eliphas@skyfoobar$ ./parouimpar.sh
>   > > i: # .bashrc
>   > > p:
>   > > i: # User specific aliases and functions
>   > > p:
>   > > i: alias rm='rm -i'
>   > > p: alias cp='cp -i'
>   > > [...]
>   > > eliphas@skyfoobar$
>   > >
>   > > Em AWK, a variável NR é o número da linha corrente.
>   > >
>   > > $ awk '{ if (NR%2) printf("i: "); else printf("p: "); print $_; }'
>   > .bashrc
>   > >
>   > > --
>   > > Eliphas
>   > >
>   > >
>   >
> >  ---------------------------------------------------------------------
>   > > 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
>   > >
>   > >
>   > >
>   > >
>   > >  *Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
>   > >  <
>   >
> http://br.ard.yahoo.com/SIG=12fmemfha/M=393477.7870451.8719931.2369893/D=brclubs/S=2137111254:HM/Y=BR/EXP=1139336596/A=3254979/R=0/id=noscript/SIG=12k5j3olb/*http://www.momentumquiz.com.br/index.php?md5ref=372BBEE98E9544bd8B2F9E87847EEEBE_3
>   > >
>   > > ------------------------------
>   > > *Links do Yahoo! Grupos*
>   > >
>   > >    - Para visitar o site do seu grupo na web, acesse:
>   > >    http://br.groups.yahoo.com/group/shell-script/
>   > >
>   > >    - Para sair deste grupo, envie um e-mail para:
>   > >    address@hidden<
>   > address@hidden?subject=Unsubscribe>
>   > >
>   > >    - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>   > >    Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>   > >
>   > >
>   >
>   >
>   > --
>   > Tiago B Peczenyj
>   > Linux User #405772
>   >
>   > echo 435991959574767208964049173891616024402182829083447460457482P |
> dc
>   >
>   >
>   > [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
>   >
>   >
>   >
>   >
>   >
>   >
>   >
>   >
>
>
>   --
>   Bruno Fialho Marques Gola <address@hidden>
>   http://www.brunogola.com.br
>   Cel: (11) 9294-5883
>
>
>   [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]
>
>
>
> ---------------------------------------------------------------------
> 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
>
>
>
>
>
>
>
>


--
Bruno Fialho Marques Gola <address@hidden>
http://www.brunogola.com.br
Cel: (11) 9294-5883


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



reply via email to

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