我正在尝试使用AWK发布此命令的最后一行的第二行(总磁盘空间):
df --total
Run Code Online (Sandbox Code Playgroud)
我正在使用的命令是:
df --total | awk 'FNR == NF {print $2}'
Run Code Online (Sandbox Code Playgroud)
但它没有做对.还有另一种方法吗?
Joh*_*nck 13
你正在使用awk变量NF,它是字段数.您可能意味着NR,行数,但使用END更容易:
df --total | awk 'END {print $2}'
Run Code Online (Sandbox Code Playgroud)
您可以tail先使用然后使用awk:
df --total | tail -1 | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)
一种方法是使用tail/awk组合,前者只获取最后一行,后者打印第二列:
df --total | tail -1l | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)
纯awk解决方案是简单地存储每行的第二列并在结尾处打印出来:
df --total | awk '{store = $2} END {print store}'
Run Code Online (Sandbox Code Playgroud)
或者,由于最后一列保留在END最后一行的块中,因此只需:
df --total | awk 'END {print $2}'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20835 次 |
| 最近记录: |