0
我想將一些過程數據寫入文件。爲此,我選擇使用top
。我想監視幾個過程並繪製他們的加班時間表。從頂部輸出中刪除標題
我使用的是Mac OS 10.12。我不認爲有一個簡單的方法來獲取版本號。
現在我有命令: top -l 2 -n 5 -o mem | awk '{ printf("%-8s %-12s %-6s %-6s\n", $1, $2, $3, $8); }'
導致下面的輸出:
Processes: 390 total, 2015
2017/09/15 00:41:51
Load Avg: 2.07,
CPU usage: 5.11% idle
SharedLibs: 169M resident,
MemRegions: 117317 total, 1807M
PhysMem: 15G used
VM: 2149G vsize, swapins,
Networks: packets: 24606796/21G
Disks: 2934900/103G read,
PID COMMAND %CPU MEM
0 kernel_task 0.0 1594M+
94178 idea 0.0 897M+
621 Google Chrome 1
277 Google Chrome 3865+
31724 Slack Helper 223+
Processes: 390 total, 2021
2017/09/15 00:41:52
Load Avg: 2.07,
CPU usage: 4.47% idle
SharedLibs: 169M resident,
MemRegions: 117317 total, 1807M
PhysMem: 15G used
VM: 2149G vsize, swapins,
Networks: packets: 24606796/21G
Disks: 2934900/103G read,
PID COMMAND %CPU MEM
0 kernel_task 3.9 1594M-
94178 idea 1.3 897M
621 Google Chrome 1
277 Google Chrome 3866+
31724 Slack Helper 223
不過,我想刪除的標題,並留下:
PID COMMAND %CPU MEM
0 kernel_task 0.0 1594M+
94178 idea 0.0 897M+
621 Google Chrome 1
277 Google Chrome 3865+
31724 Slack Helper 223+
0 kernel_task 3.9 1594M-
94178 idea 1.3 897M
621 Google Chrome 1
277 Google Chrome 3866+
31724 Slack Helper 223
所有批次均爲
。我也可以省略PID COMMAND %CPU MEM
這一行。
我已經試過管道進入sed
,但下面的命令
top -l 2 -n 5 -o mem | sed '1,10d;n;' | awk '{ printf("%-8s %-12s %-6s %-6s\n", $1, $2, $3, $8); }'
只刪除第10行,不是第10行,每行迭代。有人能幫忙嗎?
作爲一個建議:因爲pid不止一次出現,你可以打印最後一次出現。 –