Unix grep + sort maximumkiválasztás probléma

Unix grep + sort maximumkiválasztás probléma
2017-12-04T22:31:23+01:00
2017-12-04T22:50:33+01:00
2022-10-15T21:30:47+02:00
Levente Váczi
Üdv!
Olyan problémám lenne, hogy léteznek egy auto.dat fájlban adatok így:

Isuzu;D-max;5000
Suzuki;Swift;4500
Toyota;Yaris;4440
Toyota;Auris;4600
Suzuki;WagonR;5000
Isuzu;Vmi;270
Mercedesz;SlrMclaren;70000
Mercedesz;Sl65amd;75000
Suzuki;Vitara;4000
Opel;Astra;5000
Toyota;Supra;25000
Opel;Corsa;2000

Tehát gyártó típus és alapár szerint vannak 1 sorban rendezve ";"-el elválasztva
A feladat pedig az hogy bekérek mondjuk inputról 1 gyártót és kiírja a gyártó legdrágább típusát.

read n
grep `grep $n auto.dat | cut -f3 -d";" | sort -r -n | head -1` auto.dat | cut -f2 -d";"

Itt tartok, és annyi ezzel a baj, hogy ha pl "Opel"-t adok meg kiírja az összes 5000 alapárú típust azokat is amelyek drágábbak nála, és még azokat is amelyek nem az adott gyártóhoz tartoznak. Olyan adatoknál működik amúgy, ahol nagyjából eltérnek az alapárak. Hogy tudnám elérni, hogy csak a jó típust írja ki?
Mutasd a teljes hozzászólást!
Hali!

Az Opel es példánál maradva a következő visszaadja a legdrágább típust jelen esetben Astra.

cat test | grep "Opel" | sort -nr -t";" -k 3 | head -1 | cut -d";" -f2
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd