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

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

Re: RES: [shell-script] script com awk ::problemas::


From: Sergio A Lima Jr
Subject: Re: RES: [shell-script] script com awk ::problemas::
Date: Wed, 02 Jun 2004 09:29:49 -0300

On Tue, 2004-06-01 at 16:54, Julio Cezar Neves - DATAPREVRJ wrote:

> Aê Sérgio, fica até mais leve:
> 
> #!/bin/bash
> 
> DADOSDOMAINS=`cat /www/httpd/dominios/dominios.txt | grep -v "\:::::" | cut
> -f1 -d:
> MAILDOMAINS="/www/mailserver/vpopmail/domains/";
> FILEUSERS="vpasswd";
> 
> NSDOMAINS=`cat $DADOSDOMAIS | grep -v "\:::::"| echo "$MAILDOMAINS$(cut -f1
> -d:)$FILEUSERS"
> 
> echo $NSDOMAINS;
> 
> O que ocorre é que o awk é um interpretador muito pesado e não deve ser
> usado para pequenas tarefas como essa, mas o erro que vc ganhou é porque o
> awk tem suas regras especiais de passagem de parâmetro e por isso não
> reconhece as variáveis do shell.
> 
> [ ]s,
> Julio Cezar Neves
> - Programa de Software Livre -
> Tel:+55 21 2528-7070 / +55 21 8112-9988
> Fax: +55 21 2528-7646
> mailto:address@hidden
> 
> 
> | -----Mensagem original-----
> | De: Sergio A Lima Jr [mailto:address@hidden]
> | Enviada em: terça-feira, 1 de junho de 2004 16:43
> | Para: address@hidden
> | Assunto: [shell-script] script com awk ::problemas::
> | 
> | 
> | Pessoal,
> | 
> | estou escrevendo um script (bash) utilizando o awk. Meu problema: não
> | consigo fazer o awk ler várias externas:
> | 
> | #!/bin/bash
> | 
> | DADOSDOMAINS=`cat /www/httpd/dominios/dominios.txt | grep -v 
> | "\:::::" |
> | awk -F ":" {'print $1'}`;
> | MAILDOMAINS="/www/mailserver/vpopmail/domains/";
> | FILEUSERS="vpasswd";
> | 
> | NSDOMAINS=`cat $DADOSDOMAIS | grep -v "\:::::"| awk -F ":" {'print
> | "$MAILDOMAINS"$1"$FILEUSERS"'}`;
> | 
> | echo $NSDOMAINS;
> | 
> | Alguma idéia de como resolver??
> | 
> | Obrigado.
> | 
> | -- 
> | Sergio A Lima Jr <address@hidden>
> | 
> | 
> | [As partes desta mensagem que não continham texto foram removidas]
> | 
> | 
> | 
> | ---------------------------------------------------------------------
> | Esta lista não admite a abordagem de outras liguagens de 
> | programação, como perl, C etc. Quem insistir em não seguir 
> | esta regra será moderado sem prévio aviso.
> | ---------------------------------------------------------------------
> | Sair da lista: address@hidden
> | ---------------------------------------------------------------------
> | Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>  
> Links do Yahoo! Grupos
> 
> 
> 
> 
>  
> 
> 
> 
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>  
> Links do Yahoo! Grupos
> 
> 
> 
> 
>  

Julio,

muito obrigado pela ajuda.

Olhe como ficou o script agora:

#!/bin/bash

MAILDOMAINS="/www/mailserver/vpopmail/domains/";
FILEUSERS="vpasswd";
arq_destino="/www/mailmanager/listagem.txt";
serial=`cat /www/serial`;
/bin/rm -f $arq_destino;

sender="postmaster@`hostname -d`";
recipient="address@hidden";

for dominio in $(cat /www/htdocs/.dados | grep -v ":::::" | cut -f1
-d:); do
        echo -e "\t\t"::$dominio:: | tr "a-z" "A-Z" >> $arq_destino
  for usuario in $(cat $MAILDOMAINS$dominio/$FILEUSERS | cut -f1 -d:);
do
        echo "$usuario@$dominio" >> $arq_destino
  done
done

logdata=`cat $arq_destino`
cat <<EOF | sendmail -i -t
From: $sender
To: $recipient
Subject: Listagem de Dominios - serie $serial

Segue abaixo a listagem completa de usuarios por dominio registrado no
servidor de
 e-mail's deste Servidor de Dominios

${logdata}
EOF

/bin/rm -f $arq_destino;

Mais uma vez, muito obrigado.

-- 
Sergio A Lima Jr <address@hidden>


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



reply via email to

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