【发布时间】:2020-01-07 17:48:11
【问题描述】:
当我在终端uptime 上发出命令时,它会返回:
13:21:52 到 13:02,3 个用户,平均负载:1.10、1.09、0.96
然后,我想使用以下方法打印字段 8、9、10 的负载平均值:
uptime | awk '{print $8}' | tr -d ","
那么结果将是:1.10
但是,有时,当电脑运行超过一天时,它会返回:
13:22:12 上升 6 天,19:50,3 个用户,平均负载:1.10、1.09、0.96
如您所见,字段列数不是固定的。我不想手动编辑要打印的字段编号。所以,我想从右边开始阅读这条线。这样,0.96 将是字段 0,1.09 将是字段 1,依此类推。我不关心左侧附近的值。
【问题讨论】:
-
使用
awk,您可以使用数学来获取索引号。因此,您可以编写$(NF-2)而不是$8,其中NF是一个变量,表示当前行/记录中的字段数。