[Linux-Biella] Ancora script: viva awk

CIARROCCHI Paolo linux@bilug.linux.it
Fri, 8 Mar 2002 08:58:46 +0100


Ciao Andrea,
grazie per i tuoi consigli.
Ieri ho modificato lo script, ora e' cosi:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#/bin/bash
value=10
kern=$(uname -r)
log=${kern}.dbench${value}.log
tmp=${kern}.dbench${value}.tmp
for i in `seq 1 1 10`;
do ./dbench $value >> $tmp
echo .
done;
grep Th $tmp > $log
rm -rf $tmp
./media.awk $log >>$log 
echo "System info" >> $log
cat /proc/cpuinfo |grep MHz >> $log
cat /proc/cpuinfo |grep bogomips >> $log
echo `date`>> $log
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Seguendo quello che mi hai detto posso farlo diventare cosi,
giusto?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#/bin/bash
value=10
kern=$(uname -r)
log=${kern}.dbench${value}.log
#tmp=${kern}.dbench${value}.tmp
> $log

for i in `seq 1 1 10`;
	do ./dbench $value |grep Th > $log
	echo .
done;

#grep Th $tmp > $log
#rm -rf $tmp
#./media.awk $log >>$log 
awk '{tot+=$2}; END {print "Average: " tot/NR " MB/sec"}' $log >>log
echo "System info" >> $log
cat /proc/cpuinfo |grep MHz >> $log
cat /proc/cpuinfo |grep bogomips >> $log
echo `date`>> $log
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Ho bisogno dei numeri dopo la virgola, percio' preferisco utilizzare awk.

Questo e' l'output del mio vecchio script (genero cmq, tutto quello che in
questo momento mi serve)

$ cat 2.4.17.dbench10.log
Throughput 25.654 MB/sec (NB=32.0676 MB/sec  256.54 MBit/sec)  10 procs
Throughput 24.024 MB/sec (NB=30.03 MB/sec  240.24 MBit/sec)  10 procs
Throughput 25.0597 MB/sec (NB=31.3246 MB/sec  250.597 MBit/sec)  10 procs
Throughput 23.082 MB/sec (NB=28.8525 MB/sec  230.82 MBit/sec)  10 procs
Throughput 25.447 MB/sec (NB=31.8088 MB/sec  254.47 MBit/sec)  10 procs
Throughput 26.6811 MB/sec (NB=33.3513 MB/sec  266.811 MBit/sec)  10 procs
Throughput 24.5282 MB/sec (NB=30.6603 MB/sec  245.282 MBit/sec)  10 procs
Throughput 21.9301 MB/sec (NB=27.4126 MB/sec  219.301 MBit/sec)  10 procs
Throughput 29.3987 MB/sec (NB=36.7484 MB/sec  293.987 MBit/sec)  10 procs
Throughput 23.4877 MB/sec (NB=29.3596 MB/sec  234.877 MBit/sec)  10 procs
Average: 24.9292 MB/sec
System info
cpu MHz         : 334.237
bogomips        : 678.29
Thu Mar 7 22:55:09 GMT 2002


Ciao,
Paolo


-----Original Message-----
From: Andrea Ferraris [mailto:andrea_ferraris@libero.it]
Sent: Thursday, March 07, 2002 11:58 PM
To: linux@bilug.linux.it
Subject: Re: [Linux-Biella] Ancora script: viva awk


#!/bin/bash 
OS_REL=`uname -r`
NR=10
int_tot=0
dec_tot=0
> $OS_REL.log
for i in `seq 1 1 $NR`
do
        a=`./dbench 10 | grep ^Th | cut -d ' ' -f 2`
        int_a=`echo $a | cut -d. -f 1`
        dec_a=`echo $a | cut -d. -f 2`
        echo $a >> $OS_REL.log
        int_tot=$(($int_a+$int_tot))
        dec_tot=$(($dec_a+$dec_tot))
done
echo $(($int_tot/$NR))"."$(($dec_tot/$NR)) >> $OS_REL.log

Il risultato non e` preciso perche' vengono usati long, non float o comunque

non numeri con virgola (un limite della bash)

Per quanto riguarda awk a riga di comando:

$ awk '<comandi>' <nome_file_da_processare>

in pratica basta che metti un apice singolo prima della prima graffa e uno 
dopo l'ultima.

	Andrea
_______________________________________________
Linux mailing list
Linux@bilug.linux.it
http://www.bilug.linux.it/mailman/listinfo/linux