使用 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可以根据输出适当地间隔列。

相关内容