9

假设我有一个ps如下所示的命令:

ps -Ao args:80,time,user --sort time 

它会给我一个“空格”分隔的行集。一行可能看起来像这样

paulnath -bash 00:00:00

我想说服 ps 用逗号(甚至制表符!)分隔,这样它就可以被其他语言自动处理。请注意, args 中可能会有空格,因此,按字段唤醒本身不会起作用。

4

3 回答 3

17

您可以使用以下语法来放置自己的分隔符:

ps -Ao "%U,%t,%a"
于 2012-06-17T13:37:14.190 回答
0

怎么样:

ps -Ao args:80,time,user --sort time | 
sed 's/\([[:digit:]]\{2\}:\)\{2\}[[:digit:]]\{2\}/,\0,/'

这对格式(包括时间)很敏感,并且假定进程没有逗号。他们可以,但如果你想逃避它显然更复杂。

于 2010-06-25T00:14:27.330 回答
-1

您可能希望从中获取所需的信息/proc/[0-9]*/。我认为您会发现它比 ps 的输出更易于编程访问。

于 2010-06-25T00:09:46.210 回答