[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] awk: linhas pares e ímpares
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: [shell-script] awk: linhas pares e ímpares |
Date: |
Thu, 9 Feb 2006 13:13:09 -0200 |
Fala amigo Eliphas,
se não é para não usar awk que tal assim:
Pares:
cat -n num | sed -n '/^ *\([0-9]*\)\?[02468]\t/p'
Impares:
cat -n num | sed -n '/^ *\([0-9]*\)\?[13579]\t/p'
[ ]s,
Julio
==================================
ENSOL: dias 12, 13 e 14 de maio
na Universidade Federal da Paraíba.
Veja detalhes em http://www.ensol.org.br
http://www.julioneves.com
| -----Mensagem original-----
| De: Eliphas Levy Theodoro [mailto:address@hidden]
| Enviada em: terça-feira, 7 de fevereiro de 2006 12:36
| Para: address@hidden
| Assunto: Re: [shell-script] awk: linhas pares e ímpares
|
|
| 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
Links do Yahoo! Grupos
- RES: [shell-script] awk: linhas pares e ímpares,
Julio Cezar Neves - DATAPREVRJ <=