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

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

Re: [shell-script] Soma de campos especificos de varios arquivos


From: Adriano Nunes
Subject: Re: [shell-script] Soma de campos especificos de varios arquivos
Date: Wed, 3 Jun 2009 05:31:42 -0700 (PDT)

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 <address@hidden> escreveu:


De: estudo_linux <address@hidden>
Assunto: [shell-script] Soma de campos especificos de varios arquivos
Para: address@hidden
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]



reply via email to

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