Форматирование данных в виде таблицы с помощью AWK print

perl -aF'(\|)' -lne 's/\h/&/ for @F[2*2,2*4]; print @F' input_file

Результаты

a a|b b|c&c|d d|e&e
f f|g g|h&h|i i|j&j

Работа

Разбить текущую запись на канал |, а также включить разделитель в поля. Следовательно, 3-е и 5-е поля становятся 2 *2 и 2 *4 полями.

Для обоих этих полей мы заменяем горизонтальный пробел \hлитералом &. Когда закончите, просто распечатайте поля.

2
01.11.2019, 00:20
2 ответа

Вот что я получаю отtop -l 1 -u -o cpu -n10 | awk 'NR==12, NR==22 {print $2,$3,$8}';:

COMMAND %CPU MEM
WindowServer 0.0 574M+
Google Chrome 1
kernel_task 0.0 1183M+
postbox 0.0 1027M+
Google Chrome 1186+
coreaudiod 0.0 6416K+
Google Chrome 1
Telegram 0.0 364M+
Google Chrome 1
Slack Helper 1

Это представляет собой таблицу со строками и столбцами. Если вы хотите отформатировать его лучше, вы можете передать его в column.

top -l 1 -u -o cpu -n10 | awk 'NR==12, NR==22 {print $2,$3,$8}' | column -t:

COMMAND       %CPU    MEM
WindowServer  0.0     549M+
Google        Chrome  1
kernel_task   0.0     1174M+
postbox       0.0     1027M+
Google        Chrome  1185+
coreaudiod    0.0     6416K+
Google        Chrome  1
Telegram      0.0     365M+
Google        Chrome  1
Slack         Helper  1

РЕДАКТИРОВАТЬ :Поскольку topразделяет эти поля пробелами, возникнут проблемы с анализом правильных столбцов. Настройка столбца через -statsможет быть лучше:

top -l 1 -u -o cpu -n10 -stats command,cpu,mem | awk '/COMMAND/{y=1;next}y'

WindowServer     0.0  560M+
Google Chrome He 0.0  402M+
kernel_task      0.0  1170M+
postbox          0.0  1027M+
Google Chrome    0.0  235M+
coreaudiod       0.0  6408K+
Google Chrome He 0.0  161M+
Telegram         0.0  364M+
Google Chrome He 0.0  107M+
Slack Helper (Re 0.0  307M+
1
27.01.2020, 22:16

Пробовал с помощью команды ps. Возможность получить вывод в виде таблицы.

ps axo command,%cpu,%mem|awk 'NR <=11'
COMMAND                     %CPU %MEM
/usr/lib/systemd/systemd --  1.0  1.3
[kthreadd]                   0.0  0.0
[ksoftirqd/0]                0.0  0.0
[kworker/0:0]                0.0  0.0
[kworker/0:0H]               0.0  0.0
[kworker/u2:0]               0.0  0.0
[migration/0]                0.0  0.0
[rcu_bh]                     0.0  0.0
[rcu_sched]                  0.2  0.0
[watchdog/0]                 0.0  0.0
0
27.01.2020, 22:16

Теги

Похожие вопросы