嗨,我正在努力弄清楚如何在打開頂部時獲得 PID 和 COMMAND 標頭的前 5 行
目前我正在使用
top | awk '{print $1,$2}NR==5{exit}'
這顯然很煩人地給了我這個:
Processes: 390
2021/12/17 13:47:48
Load Avg:
CPU usage:
SharedLibs: 146M
uj5u.com熱心網友回復:
使用您顯示的示例,請嘗試以下代碼。由于您需要前 5 個 PID 詳細資訊,因此此處無法列印前 5 行。所以跳過 top 輸出中的前 6 行(關于系統細節)。
top -b | awk 'FNR>=7 && FNR<=12{print $1};FNR==12{exit}'
說明:對上述代碼的簡單說明是,將top命令的輸出awk作為標準輸入傳遞。然后在awk程式檢查條件下,如果行號從第 7 行到第 12 行,則列印它并在第 12 行退出程式。
其中top -b選項的定義如下man top:
b :Batch-mode operation 在批處理模式下啟動 top,這對于將輸出從 top 發送到其他程式或檔案很有用。在這種模式下,top 不會接受輸入并運行,直到您使用 `-n' 命令列選項設定的迭代限制或直到被終止。
uj5u.com熱心網友回復:
top -b|head -12|tail -6|awk '{print $1, $NF}'
top -b -n 1|awk 'FNR>=7 && FNR<=12{print $1, $NF}'
top -b -n 1|sed -n 7,12p|awk '{print $1, $NF}'
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/383717.html
