[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Case com AWK
From: |
jimmy |
Subject: |
Re: [shell-script] Case com AWK |
Date: |
Tue, 23 Aug 2011 19:48:27 -0300 |
User-agent: |
mutt-ng/devel-r804 (Linux) |
On Tue, Aug 23, 2011 at 06:18:58PM -0000, williamalves1975br wrote:
>
>
> Bem, precisei solucionar um problema aqui no trabalho, que consistia em
> monitorar um LOG em tempo real, diversar foram as tentativas até concluir que
> o
> SED e AWK seria a melhor solução, problemas sempre existirão e pesoas
> interessadas em resolver também, só que é em menor quantidade.
>
> Onde após a tratativa do log, seria necessário utilizar com "Case", mas não
> com
> o while, until ou for da maneira que estava acostumado a pensar e resolver, e
> sim dentro do awk.
>
> Segue resultado após algumas pesquisas, poderá ser útil.
>
> echo 1 2 3 4 5 6 7 | tr ' ' '\n' | awk '
> $1 ~ "^7" {print $0, ("setimo ciclo")}
> $1 ~ "^6" {print $0, ("sexto ciclo")}
> $1 ~ "^5" {print $0, ("quinto ciclo")}
> $1 ~ "^4" {print $0, ("quarto ciclo")}
> $1 ~ "^3" {print $0, ("terceiro ciclo")}
> $1 ~ "^2" {print $0, ("segundo ciclo")}
> $1 ~ "^1" {print $0, ("primeiro ciclo")}
> '
Você pode resolver esse problema com um array, uma menor quantidade de
perguntas e sem usar regexps:
BEGIN {
split("primeiro \
segundo \
terceiro \
quarto \
quinto \
sexto \
setimo", ciclo);
}
{
print $0, ciclo[ substr($1, 1,1 ) ], "ciclo";
}
Mas isso avaliando apenas esse exemplo em específico.
[]'s
--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------
http://tecnoveneno.blogspot.com
- Case com AWK, williamalves1975br, 2011/08/23
- Re: [shell-script] Case com AWK,
jimmy <=