如何格式化shell命令的输出

use*_*345 1 shell top pidof

我结合toppidof命令:

top -p $(pidof <process_name>)
Run Code Online (Sandbox Code Playgroud)

如果pidof <process_name>返回一个 idtop命令有效。但是如果pidof <process_name>不止一个 idstop命令不起作用。

pidof 返回 ID 之间有一个空格,例如: 123 124 125

如果我可以用逗号之类的123, 124, 125 top命令获取这些 id就可以了。如何更改 的输出格式pidof

我知道awk用于格式化文本数据。但是我找不到如何awk用于 shell 命令的结果。

hee*_*ayl 5

使用bash

top -p "$(pname="$(pidof <process_name>)"; echo "${pname// /,}")"
Run Code Online (Sandbox Code Playgroud)

使用tr

top -p "$(pidof <process_name> | tr ' ' ',')"
Run Code Online (Sandbox Code Playgroud)

使用sed

top -p "$(pidof <process_name> | sed 's/ /,/g')"
Run Code Online (Sandbox Code Playgroud)