Linux
正常執行時間 |awk -F: ‘{print $NF}’ - 這裡發生了什麼?
有人可以解釋一下這裡發生了什麼嗎?
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}'
總是在最後一個之後給出一切:
。