Linux 使用awk显示磁盘使用率超过10%的设备,并打印列标题
下面的命令显示文件系统使用率高于10%的设备。但是,它不显示列标题。这是我使用的命令:Linux 使用awk显示磁盘使用率超过10%的设备,并打印列标题,linux,awk,disk-access,Linux,Awk,Disk Access,下面的命令显示文件系统使用率高于10%的设备。但是,它不显示列标题。这是我使用的命令: df -Ph | awk '+$5 >= 10 {print}' 我想要这样的输出 Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 9.7G 1.9G 7.4G 21% / /dev/mapper/VolGroup00-LogVol 5
df -Ph | awk '+$5 >= 10 {print}'
我想要这样的输出
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00 9.7G 1.9G 7.4G 21% /
/dev/mapper/VolGroup00-LogVol 5.0G 665M 4.1G 14% /app
server:/data 5.0G 546M 4.3G 12% /data
您可以使用awk打印行的两个条件执行此操作:磁盘使用率高于10%,第一个参数为“Filesystem”: 编辑根据Jotne的建议,您可以这样写这篇短文(打印是默认操作):
如果第一行或第五个字段大于或等于10,则打印
df -Ph | awk 'NR==1 || +$5 >= 10'
Awk的默认操作是打印行,这样就可以省略块 您不需要括号,也不需要
打印
,因此可以这样做:df-Ph | awk'+$5>=10 | | 1==“Filesystem”
+1这是在awk中执行此操作的方法。我从未见过只使用+$5
来强制进行数字比较,我总是使用($5+0)
。你知道这是否能保证有效且便于携带吗?
df -Ph | awk '+$5>=10 || $1=="Filesystem"'
df -Ph | awk 'NR==1 || +$5 >= 10'