[Linux-Biella] Ancora script: viva awk
Andrea Ferraris
linux@bilug.linux.it
Fri, 8 Mar 2002 22:35:54 +0100
> #/bin/bash
#!/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
do ./dbench $value |grep Th >> $log
altrimenti ti ci ritrovi solo l'ultimo del ciclo.
> 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
I bogomips li lascerei perdere proprio perche' sono bogus; servono per
calcoli interni del kernel e i panni sporchi si lavano in casa, non si
mettono nei report ;-)
> echo `date`>> $log
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Ho bisogno dei numeri dopo la virgola, percio' preferisco utilizzare awk.
Anche lo scriptino in bash ti metteva i numeri dopo la virgola, ma i
risultati della divisione, sia degli interi che dei decimali, erano
approssimata (in pratica sballava mediamente di 0,55 in meno [precisamente da
0 a -1,1], quindi, aggiungendo al totale 0,55, avrebbe sballato di +-0,55),
comunque convengo sul fatto che, costando anche meno fatica e` meglio essere
precisi.
> 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
Beh, direi che e` una macchina con dei bei dischi, di che si tratta?
Ciao,
Andrea