Linux

正常執行時間 |awk -F: ‘{print $NF}’ - 這裡發生了什麼?

  • March 22, 2020

有人可以解釋一下這裡發生了什麼嗎?

uptime | awk -F: '{print $NF}'
  • -F:欄位分隔符
  • $NF:目前行的欄位數

我不明白為什麼這個命令的結果與

uptime | awk -F: '{print $5}'

選項-F( --field-separator fs)-F:使:輸入欄位分隔符

我們可以獲取範例的輸出uptime並將其拆分為由 分隔的欄位:

09:03:24 up 32 days,  1:32,  3 users,  load average: 0.04, 0.09, 0.08
-- -- ----------------- --------------------------- -----------------
1  2          3                      4                      5

很容易說 1-4 欄位本身毫無意義,但第 5 欄位給我們的只是負載平均值。但這並不總是有效,因為一個小時前它本來是第四個欄位:

08:03:24 up 32 days, 32 min, 3 users,  load average: 0.00, 0.00, 0.00
-- -- --------------------------------------------- -----------------
1  2                        3                               4

在這裡,$NF來幫助,因為它總是會給出欄位的數量:在第一種情況下它會等於$5,但在第二種情況下$4

把它放在一起,| awk -F: '{print $NF}'總是在最後一個之後給出一切:

引用自:https://serverfault.com/questions/1007834