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: Eliphas Levy Theodoro
Subject: Re: [shell-script] awk: linhas pares e ímpares
Date: Tue, 07 Feb 2006 12:35:59 -0200
User-agent: Thunderbird 1.5 (Windows/20051201)

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


reply via email to

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