
で始まるすべての行を一致させた後、出力の最初の行をヘッダーとして保存するにはどうすればよいですか/dev/nvme
?
現在はdf
2 回呼び出していますが、awk を使用して 1 回のパスで実行したいと思います。
df -h | grep '^Filesystem' && df -h | grep '^/dev/nvme'
望ましい結果は次のとおりです。
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p2 ...
/dev/nvme0n1p1 ...
答え1
他の人が指摘したように:
df -Ph | awk 'NR == 1 || $0 ~ "^/dev/nvme"'
あるいは、Linux ではdf
コマンド ラインでデバイス ファイルを指定することもできます。
df -x devtmpfs -Ph /dev/nvme*
これは、一致するデバイスがマウントされていないときにファイルシステムが表示されないよう-x devtmpfs
にするためです。/dev
この-P
オプションは、df
列の 1 つが広い場合でも行が分割されないことを保証します。
2 番目の方法の利点は、df
出力に対して列の間隔が適切に確保されることです。