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

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

Re: [shell-script] Grep retorna mais de um resultado


From: Flavio Junior
Subject: Re: [shell-script] Grep retorna mais de um resultado
Date: Fri, 12 Jan 2007 12:25:31 -0200

$ grep '^address@hidden' mysql.txt

Testa isso.. no caso o ^ ta forçando a só retornar as linhas que tenham no
INICIO dela a string "address@hidden"

Talvez isso ajude.


Flavio do Carmo Junior

On 1/12/07, Deivid Vilela <address@hidden> wrote:
>
>   Meus cumprimentos a todos
>
> Gostaria de saber se o grupo pode contribuir com uma dificuldade minha.
>
> tenho um arquivo txt com uma listagem de e-mails para cálculo de % de
> uso de quota.
> A estrutura do arquivo é a seguinte
>
> User<tab>quota<tab>maildir
>
> teoricamente para localizar um usuário dentro deste arquivo bastaria um
> grep bem simples
>
> grep $User base.txt
>
> funciona muito bem até o grep encontrar um usuário com . na string aí
> ele se perde. para ilustrar a situação segue abaixo as várias opções que
> eu testei com o grep.
>
> [root@MAITB3213 txt]# grep a.bandeira@dominio mysql.txt
> a.bandeira@dominio 10240
> /usr/local/atmail/users/a/other/a.bandeira@dominio
> bandeira@dominio 10240 /usr/local/atmail/users/b/a/bandeira@dominio
>
> [root@MAITB3213 txt]# grep 'a.bandeira@dominio' mysql.txt
> a.bandeira@dominio 10240
> /usr/local/atmail/users/a/other/a.bandeira@dominio
> bandeira@dominio 10240 /usr/local/atmail/users/b/a/bandeira@dominio
>
> [root@MAITB3213 txt]# grep "a.bandeira@dominio" mysql.txt
> a.bandeira@dominio 10240
> /usr/local/atmail/users/a/other/a.bandeira@dominio
> bandeira@dominio 10240 /usr/local/atmail/users/b/a/bandeira@dominio
> [root@MAITB3213 txt]#
>
> SE eu fizer quoting no . usando uma barra ele traz apenas um resultado,
> a complicação disso é que a conta de e-mail está armazenada em uma
> variável e eu nunca sei quando existe o ponto ou não.
>
> Próximo passo? tentar awk resultado? idêntico
>
> Para análise segue também o trecho do script que faz este for.
>
> contas=`awk '$1 {print $1}' $mcountpath/mysql.txt`
> for conta in $contas
> do
> # Para cada conta extrai o limite de uso identificado no banco de dados
>
> quota=`grep $conta $mcountpath/mysql.txt |awk '{print $2}'`
> maildir=`grep $conta $mcountpath/mysql.txt |awk '{print $3}'`
> done
>
> Usando grep ou awk ou qualquer outra coisa tem como resolver isso?
>
> Obrigado pela atenção de todos
> Deivid Vilela
>
>
> _______________________________________________________
> Yahoo! Mail - Sempre a melhor opção para você!
> Experimente já e veja as novidades.
> http://br.yahoo.com/mailbeta/tudonovo/
>
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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