Galera consegui fazer o seguinte: modifiquei o script da seguinte forma: #/bin/bash mes="" relatorio="/home/anunes/rel-pflogsumm" destino="/home/anunes/relatorios/recebidos." echo " Digite o Mes que deseja consultar" while read mes do case $mes in 01) break;; 02) break;; 03) break;; 04) break;; 05) break;; 06) break;; 07) break;; 08) break;; 09) break;; 10) break;; 11) break;; 12) break;; esac echo " Digite um valor de 01-12" done cat $relatorio/pflog-$mes-01.txt |awk 'NR==7 {print $1}' > $destino$mes cat $relatorio/pflog-$mes-02.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-03.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-04.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-05.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-06.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-07.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-08.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-09.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-10.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-11.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-12.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-13.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-14.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-15.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-16.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-17.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-18.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-19.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-20.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-21.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-22.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-23.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-24.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-25.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-26.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-27.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-28.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-29.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-30.txt |awk 'NR==7 {print $1}' >> $destino$mes cat $relatorio/pflog-$mes-31.txt |awk 'NR==7 {print $1}' >> $destino$mes -------------------------------------- O relatorio que ele cria fica da seguinte forma: Nome do relatorio gerado: recebido."o mes escolhido" conteudo: 2885 488 449 475 2846 2546 2018 2920 2085 594 667 3216 2031 2023 2212 2064 1757 542 3508 2556 2545 2326 2781 607 488 3555 3113 2674 2562 2277 572
Agora preciso somar todos esses numeros. Alguém pode me ajudar! Obrigado!!!! --- Em ter, 2/6/09, estudo_linux <estudo_li...@yahoo.com.br> escreveu: De: estudo_linux <estudo_li...@yahoo.com.br> Assunto: [shell-script] Soma de campos especificos de varios arquivos Para: shell-script@yahoogrupos.com.br Data: Terça-feira, 2 de Junho de 2009, 14:58 Boa tarde a todos, Sou novo nessa área e estou me mantando um pouco para tentar elaborar um script para somar campos especificos de diversos arquivos. mes="" echo " Digite o Mes que deseja consultar" while read mes do case $mes in 01) break;; 02) break;; 03) break;; 04) break;; 05) break;; 06) break;; 07) break;; 08) break;; 09) break;; 10) break;; 11) break;; 12) break;; esac echo " Digite um valor de 01-12" done echo -n "Verificando Relatorios"& &sleep 1&&echo -n "."&&sleep 1&&echo -n "."&&sleep 1&&echo -n "."&&sleep 1&&echo -n "."&&clear cat /home/anunes/ rel-pflogsumm/ pflog-$mes- * | grep received |cut -d " " -f1-6 |nl| Dentro dessa pasta \rel-pflogsumm\ tem 2 arquivos são eles: pflog-06-01. txt e pflog-06-02. txt, a cada dia ele gera outro arquivo. Ao executar esse comando ele traz o seguinte resultado: 1 689 2 29641k bytes received 3 time 4 7277 5 459794k bytes received 6 time ... ... Tenho que pegar apenas os campos de "recebidos" que estão indicados pelo numero 1 e 4, mas nem sempre são nos mesmos numeros. o formato do arquivo original é assim: Postfix log summaries for May 31 Grand Totals ------------ messages 689 received 602 delivered 0 forwarded 0 deferred 204 bounced 569 rejected (48%) 0 reject warnings 0 held 0 discarded (0%) 29641k bytes received 29632k bytes delivered 95 senders 59 sending hosts/domains 253 recipients 128 recipient hosts/domains E depois tenho que somar os campos de recebidos de todos os arquivos e mostrar o resultado total de arquivos recebidos. Peço ajuda a todos, pois o meu conhecimento não vai muito alem desses comando ainda, estou aprendendo ainda.... Muito obrigado! Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]