So erhalten Sie ein bestimmtes Feld einer Zeichenfolge

So erhalten Sie ein bestimmtes Feld einer Zeichenfolge

Ich möchte die dritte Spalte der letzten Zeile der Befehlsausgabe erhalten free. Bisher habe ich Folgendes:

free | tail -n 1 | (here I need to printf the second column value)

Wie mache Ich das?

Antwort1

Verwenden Sie einfach awk:

free | awk 'ORS=""; END {print $2}'

Erläuterung:

ENDdruckt nur die letzte Zeile

{print $2}druckt nur die zweite Spalte

ORS=""entfernt den abschließenden Zeilenumbruch

oder anders gesagt mit awk:

free | awk  'END {printf "%s", $2}'

Antwort2

Die letzte Zeile der freeAusgabe von lautet Swap:...... Mit diesem Wissen können Sie es einfach mit folgendem tun awk:

free | awk '/Swap:/ {print $3}'

Antwort3

$ free | tail -n 1 | awk '{print $2}'

verwandte Informationen