[英]AWK Print Second Column of Last Line
我正在尝试使用AWK发布此命令的最后一行的第二行(总磁盘空间):
df --total
我正在使用的命令是:
df --total | awk 'FNR == NF {print $2}'
但它没有做对。 还有另一种方法吗?
你正在使用awk变量NF,它是字段数。 您可能意味着NR,行数,但使用END更容易:
df --total | awk 'END {print $2}'
你可以先使用tail
然后使用awk
:
df --total | tail -1 | awk '{print $2}'
一种方法是使用tail/awk
组合,前者只获取最后一行,后者打印第二列:
df --total | tail -1l | awk '{print $2}'
纯awk
解决方案是简单地存储每行的第二列并在最后打印出来:
df --total | awk '{store = $2} END {print store}'
或者,由于最后一列保留在最后一行的END
块中,因此只需:
df --total | awk 'END {print $2}'
awk没有“这是最后一行”的概念。 sed确实:
df --total | sed -n '$s/[^[:space:]]\+[[:space:]]\+\([[:digit:]]\+\).*/\1/p'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.