繁体   English   中英

AWK打印最后一行的第二列

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM