[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