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

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

Re: [shell-script] Dúvida no awk


From: Rodrigo Monteiro
Subject: Re: [shell-script] Dúvida no awk
Date: Mon, 5 Dec 2005 09:56:45 -0300

Valeu Fabiano.
Era exatamente o que eu tava tentando fazer :)
Ficou bem mais rápido e mais elegante hehehe :P

era isso:

while read dominio ; do
    grep -i "\@${dominio};" relatorio_transmitido_"$dataarq".txt >
ZZ_transmitido_"${dominio}".temp.txt
    while read linha ; do
        dominio_dominio=`echo "${linha}" | cut -d';' -f3 | cut -d'@'
-f2 | tr [:upper:] [:lower:]`
        if [ "${dominio}" = "${dominio_dominio}" ] ; then
            echo "${linha}" | awk '{print "'$dominio'"";"$0}' >>
relatorio_transmitido_dominio_"$dataarq".txt
        else
            echo "${linha}" | awk '{print "'$dominio'"";"$0}' >>
relatorio_transmitido_dominio_ERRO_"$dataarq".txt
        fi
    done < ZZ_transmitido_"${dominio}".temp.txt
done < orgao_trans02.temp.txt

ficou isso:

while read dominio; do
   awk -F';' -v target=$dominio 'tolower($3) ~ "@"target {print
target";"$0}' relatorio_transmitido_"$dataarq".txt >>
relatorio_transmitido_dominio_AWK_"$dataarq".txt
done < orgao_trans02.temp.txt

Fiz os testes (diff) e os arquivos ficaram exatamente iguais. Santo AWK ;)

[]s

On 12/2/05, Fabiano Caixeta Duarte <address@hidden> wrote:
> Vc tentou algo assim?
>
> Rodrigo Monteiro escreveu:
> >>#!/bin/bash
> >>while read dominio; do
> >>   awk -F\; -v target=$dominio '
> >>     BEGIN {OFS=";";}  #definindo separador de saída
>  >>     $3 ~ "@"target {print target,$0}' dominio_total
>         tolower($3) ~ "@"target {print target,tolower($0)}' dominio_total
> >>done < dominio_certo.txt
> >
> > Deu quase tudo certo. O único problema que aconteceu é porque em
> > dominio_total.txt existem algumas linhas em que o domínio do e-mail
> > está maiúsculo e não está pegando essas linhas. Tentei fazer
> > "@"tolower(target) mas não deu certo. Em dominio_certo.txt todos os
> > domínios já estão minúsculos.
>
>


--
Rodrigo Monteiro
"Free as in Freedom, not free as in free beer"
Linux User # 403730
JID: address@hidden
address@hidden


reply via email to

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