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: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] awk: linhas pares e ímpares
Date: Tue, 7 Feb 2006 14:51:17 -0200

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]



reply via email to

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