假设我有ps
命令,如下所示:
ps -Ao args:80,time,user --sort time
它会给我一个“空格”分隔的行集。一行可能看起来像这样
paulnath -bash 00:00:00
我想说服ps用逗号分隔(或者甚至是标签!),这样它就可以被其他语言自动处理。请注意,args中可能包含空格,因此,按字段调整本身不会起作用。
答案 0 :(得分:15)
您可以使用以下语法来放置自己的分隔符:
ps -Ao "%U,%t,%a"
答案 1 :(得分:0)
怎么样:
ps -Ao args:80,time,user --sort time |
sed 's/\([[:digit:]]\{2\}:\)\{2\}[[:digit:]]\{2\}/,\0,/'
这对格式很敏感,包括时间,并假设进程没有逗号。他们可以,但如果你想逃避,那显然更复杂。
答案 2 :(得分:-1)
您可能希望从/ proc / [0-9] * /获取所需信息。我想你会发现它比ps的输出更容易以程序方式访问。