Mam plik, który ma numery w pierwszej kolumnie.Powłoka uniksowa ustalająca wartości maksymalne i minimalne oraz drukowanie linii z pliku
100,red
101,blue
102,black
Powinienem napisać skrypt powłoki, który wydrukuje linię z numerami maks. I min.
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
Oto, czego próbowałem do tej pory, aby znaleźć maks.
bardzo "kosztowny" sposób analizować swoje linie i dlaczego patrzysz na '... awk '{print $ 3}'' ... masz tylko 2 elementy? @sudo_O ma rację, awk jest najlepszy tutaj, ale jeśli próbujesz nauczyć się kodowania powłoki, zmniejsz ją do 'while read fir sec; zrobić, jeśli [$ fir .... done
shellter
'max' ustawia się w podpowłoce wywołanej przez potok. Po prostu zmień na 'while read LINE; robić ...; done
chepner