使用 awk 解析 df 指令輸出

使用 awk 解析 df 指令輸出

在匹配所有以 開頭的行後,如何儲存要列印的第一行輸出作為標題/dev/nvme

現在我要呼叫df兩次,但我想用 awk 一次完成。

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"'

或者,Linuxdf允許您在命令列上指定設備檔案:

df -x devtmpfs -Ph /dev/nvme*

-x devtmpfs是為了防止/dev在未安裝匹配設備時顯示檔案系統。

-P選項保證df即使其中一列很寬也不會斷行。

第二種方法的優點是df可以根據輸出適當地間隔列。

相關內容