
Wie kann ich die erste Ausgabezeile speichern, um sie als Kopfzeile zu drucken, nachdem alle Zeilen abgeglichen wurden, die mit beginnen /dev/nvme
?
Im Moment rufe ich df
zweimal auf, aber ich möchte es in einem Durchgang mit awk tun.
df -h | grep '^Filesystem' && df -h | grep '^/dev/nvme'
Gewünschte Ergebnisse wären:
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p2 ...
/dev/nvme0n1p1 ...
Antwort1
Wie von anderen angemerkt:
df -Ph | awk 'NR == 1 || $0 ~ "^/dev/nvme"'
Alternativ df
können Sie unter Linux die Gerätedatei in der Befehlszeile angeben:
df -x devtmpfs -Ph /dev/nvme*
Dadurch -x devtmpfs
soll verhindert werden, /dev
dass das Dateisystem angezeigt wird, wenn kein passendes Gerät gemountet ist.
Die -P
Option garantiert, dass df
keine Zeilenumbrüche erfolgen, auch wenn eine der Spalten breit ist.
Der Vorteil der zweiten Methode besteht darin, dass df
die Spalten für die Ausgabe entsprechend angeordnet werden.