根据条件打印特定字段

时间:2014-12-18 17:11:37

标签: shell if-statement awk grep

有人能告诉我如何打印60%及以上的FS名称吗?

dev/mapper/vg00-LogVol01
                       4062912   1620112   2233088  43% /
/dev/mapper/vg00-LogVol02
                       2031440     87412   1839172   5% /u11
/dev/mapper/vg00-LogVol04
                       8125880   5297076   2409376  69% /opt
/dev/mapper/vg00-LogVol03
                       8125880   3314648   4391804  44% /usr
/dev/mapper/vg00-LogVol13
                       4062912    740804   3112396  20% /usr/op
/dev/mapper/vg00-LogVol11
                       4062912   2515896   1337304  66% /u01
/dev/mapper/vg00-LogVol02
                       8125880   5409672   2296780  71% /var
/dev/mapper/vg00-LogVol09
                       2031440    148780   1777804   8% /var/opt
/dev/mapper/vg00-LogVol01
                       5078656   3391592   1424960  71% /tmp

例如:print / tmp显示71%,大于60%

3 个答案:

答案 0 :(得分:0)

awk '$4+0>=60{print l, $4}{l=$0}' input

答案 1 :(得分:0)

尝试使用:

awk '/%/ && int($4)>=60 {print $4, $5}' filename

答案 2 :(得分:0)

您最好使用df -P强制df在一行上输出每条记录。一旦你这样做awk很容易:

df -P | awk 'int($(NF-1)) >= 60 {print $1, $(NF-1)}'