Как я могу форматировать вывод команды оболочки

Я совмещаю команду top и pidof :

 top -p $(pidof <process_name>) 

Если pidof <process_name> возвращает одну команду top id. Но если pidof <process_name> более одной команды top не работает.

  • Как проверить, какой процесс использует большую часть памяти
  • Использование top для просмотра процессов, выполняемых пользователем от имени sudo
  • Как найти, какие процессы занимают всю память?
  • Как узнать, сколько памяти занимает программа
  • Как просмотреть обобщенное использование памяти группами команд (вместо процессов)
  • когда вы спящий спящий режим, столбец VIRT верхней команды показывает пространство подкачки, используемое процессом?
  • pidof возвращает идентификаторы с одним пробелом между ними: 123 124 125

    Если я получу эти идентификаторы с запятой, как 123, 124, 125 top команда будет работать. Как изменить выходной формат pidof ?

    Я знаю, что awk использовался для форматирования текстовых данных. Но я не могу найти, как я могу использовать awk для результата команды оболочки.

  • Как проверить, какой процесс использует большую часть памяти
  • Использование памяти остается высоким после компиляции
  • Использование top для просмотра процессов, выполняемых пользователем от имени sudo
  • Как узнать, сколько памяти занимает программа
  • Доступные для чтения размеры памяти в верхней части?
  • Как найти, какие процессы занимают всю память?
  • 3 Solutions collect form web for “Как я могу форматировать вывод команды оболочки”

    Вы можете попробовать это:

     top -p "$(pidof <process_name> | awk 'OFS="," { $1 = $1; print; }')" 

    Использование bash :

     top -p "$(pname="$(pidof <process_name>)"; echo "${pname// /,}")" 

    Используя tr :

     top -p "$(pidof <process_name> | tr ' ' ',')" 

    Использование sed :

     top -p "$(pidof <process_name> | sed 's/ /,/g')" 

    Попробуйте это с помощью awk :

     top -p $(pidof <process_name>|awk '{gsub(/ /, ","); print }') 
    Linux и Unix - лучшая ОС в мире.