Пытается проанализировать вывод BSD top
, чтобы показать только PID - COMMAND - MEM
для определенного c процесса;
$ top -l 1 | grep -E '%CPU\ |coreaudio'
PID COMMAND %CPU TIME #TH #WQ #PORTS MEM PURG
354 com.apple.audio. 0.0 00:00.00 2 1 12 820K 0B
296 com.apple.audio. 0.0 00:00.03 2 1 38 2024K 0B
282 coreaudiod 0.0 03:25.05 94 2 736 21M 0B
Использование awk для отображения только столбца $1 - $2
$ top -l 1 | grep -E '%CPU\ |coreaudio' | awk {'print $1" -- "$2'}
PID -- COMMAND
354 -- com.apple.audio.
296 -- com.apple.audio.
282 -- coreaudiod
Добавление 3-го столбца путается с «столбцами», так как вторые столбцы не дополняются;
$ top -l 1 | grep -E '%CPU\ |coreaudio' | awk {'print $1" -- "$2" -- "$8'}
PID -- COMMAND -- MEM
354 -- com.apple.audio. -- 820K
296 -- com.apple.audio. -- 2024K
282 -- coreaudiod -- 21M
Как мне «дополнить» «столбец», чтобы сохранить макет "нетронутым? Или я должен использовать другой инструмент, такой как sed ?
Note;
Использование top -l 1
, так как я нахожусь на Ма c