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.
[EMAIL PROTECTED] txt]# grep [EMAIL PROTECTED] mysql.txt
[EMAIL PROTECTED] 10240 /usr/local/atmail/users/a/other/[EMAIL PROTECTED]
[EMAIL PROTECTED] 10240 /usr/local/atmail/users/b/a/[EMAIL PROTECTED]
[EMAIL PROTECTED] txt]# grep '[EMAIL PROTECTED]' mysql.txt
[EMAIL PROTECTED] 10240
/usr/local/atmail/users/a/other/[EMAIL PROTECTED]
[EMAIL PROTECTED] 10240 /usr/local/atmail/users/b/a/[EMAIL PROTECTED]
[EMAIL PROTECTED] txt]# grep "[EMAIL PROTECTED]" mysql.txt
[EMAIL PROTECTED] 10240
/usr/local/atmail/users/a/other/[EMAIL PROTECTED]
[EMAIL PROTECTED] 10240 /usr/local/atmail/users/b/a/[EMAIL PROTECTED]
[EMAIL PROTECTED] 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/