![Wie drucke ich je nach Eingabe ein bestimmtes Feld?](https://rvso.com/image/122417/Wie%20drucke%20ich%20je%20nach%20Eingabe%20ein%20bestimmtes%20Feld%3F.png)
Angenommen, eine Textdatei hat zwei Spalten: Eine enthält den Namen des Weins und die andere eine Zahl, die angibt, wie viele Flaschen es davon gibt.
Ich möchte ein Skript erstellen, bei dessen Ausführung der Benutzer eine Zahl zwischen 1 und 30 eingibt und mir dann in alphabetischer Reihenfolge alle Weine angezeigt werden, von denen diese Nummer noch auf Lager ist.
Wie kann ich das machen?
Antwort1
Wenn Ihre Felder durch Leerzeichen definiert sind, können Sie einfach Folgendes tun:
awk '$2==30' file
Dadurch werden alle Zeilen gedruckt, file
deren zweites Feld ist 30
. Wenn Sie nur das erste Feld, den Namen, möchten, verwenden Sie:
awk '$2==30{print $1}' file
Und um sie alphabetisch zu erhalten, leiten Sie die Ausgabe durch Sortieren weiter:
awk '$2==30{print $1}' file | sort