Zeilen in Felder zerlegen

Gelegentlich benötigt man lediglich ein bestimmtes Feld einer Zeile. Mit dem 'cut' Kommando läßt sich ein einzelnes Feld leicht extrahieren.

Das Kommando

uptime | cut -d, -f3

Zerlegt die Ausgabe von uptime anhand des Seperators „,“ und liefert das dritte Feld - also die Anzahl momentan angemeldeter Anwender.

Versucht man allerding mit dieser Methode die aktuelle Last auf dem System zu ermitteln, so schlägt die Ausgabe gelegentlich fehl. Das Uptime Kommando liefert Text, der für einen menschlichen Leser und nicht zur Weiterverarbeitung gedacht ist. Die Anzahl der Felder ändert sich durch zusammenfassen von Ausgaben zur besseren Lesbarkeit.

Die Lastangabe ist jedoch immer das letzte Feld. Leider kann das 'cut' Kommando nur von Links zählen, das 'letzte' Feld ist aber identisch mit 'das erste - von rechts gezählt'.

Mit dem 'awk' Kommando kommt man zum Ziel.

uptime | awk -F, '{print $NF}'

Liefert das letzte Feld einer Zeile die durch ',' getrennt ist.

uptime | awk -F, '{print $(NF-1)}'

entsprechend das vorletzte.

Diskussion

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
Q X N​ M Q