[Linux-Biella] Sempre script...
CIARROCCHI Paolo
linux@bilug.linux.it
Mon, 9 Jun 2003 15:16:23 +0200
From: Simone Caldana [mailto:simone@caldana.org]
> Usa nawk o gawk. io ho fatto man awk su linux, ed e' gawk. su solaris=20
> awk e basta e' molto limitato, probabilmente non ha l'operatore ?:
Ah... mi sembrava di aver gia' provato con nawk,=20
ma evidentemente mi sbaglio.
Ora ho provato cosi:
bash-2.05$ cat maxMOMT.awk
BEGIN{
FS=3D";";
minmt=3D0;
maxmt=3D0;
minmo=3D0;
maxmt=3D0;
}
{
minmo=3D(minmo<$3)?minmo:$3;
maxmo=3D(maxmo>$3)?maxmo:$3;
minmt=3D(minmt<$4)?minmt:$4;
maxmt=3D(maxmt>$4)?maxmt:$4;
}
END{
print "MO: " minmo maxmo "\n" "MT: " minmt maxmt
}
bash-2.05$ nawk -f maxMOMT.awk <prova.txt
MO: 05620
MT: 08067
Evvai!!! Funziona!!!!
A me interessa solo il max, percio' ora cancello la parte=20
relativa al minimo, che pero' cosi come e' fatta non puo' funzionare.
minmt=3D0
Poi minmt=3D(minmt<$4)?minmt:$4 -> minmt viene sempre comparato con 0,
percio' il risultato finale e' sempre 0.
Una ultima cosa, io vorrei stampare il campo $2 che corrisponde al maxmo =
e maxmt.
Esiste un modo piu' semplice di grep|cut dei due massimi ?
> (ps: occhio che c'e' un altro refuso, per MT il campo da=20
> comparare e' $4=20
> e non $3)
Si si, me ne ero accorto e l'ho corretto ;-)
Paolo