Finden der max-und min-Werte und den Druck der Zeile aus einer Datei

Ich habe eine Datei, die zahlen in der ersten Spalte.

100,red
101,blue
102,black

Ich sollte schreiben Sie ein shell-Skript, es wird gedruckt, die Zeile mit der max und min zahlen.

max=0
cat file.txt|while read LINE
do
    fir=`echo $LINE|awk '{print $2}'`
    sec=`echo $LINE|awk '{print $3}'`
    if [ $fir -gt $max ]; then
       max=$fir
    fi
    if [ $sec -gt $max ];then
        max=$sec
    fi
done

grep $max file.txt

Dies ist, was ich versucht, so weit für das finden der max.

ein sehr "teuren" Weg zu analysieren, Ihre Linien UND warum schaust du ...awk '{print $3}' ... Sie haben nur 2 Elemente? @sudo_O richtig ist, awk ist hier am besten, aber wenn Sie nur versuchen zu lernen, shell-Codierung, dann reduzieren es auf while read fir sec ; do if [ $fir .... done < file.txt . Viel Glück.
max wird in einer subshell, die durch die pipeline. Ändern Sie einfach zu while read LINE; do ...; done < file.txt. Aber wie andere haben darauf hingewiesen, das ist sehr teuer.

InformationsquelleAutor hackio | 2013-04-25

Schreibe einen Kommentar