Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Linux生成CSV列表';ps&x27;_Linux_Csv_Ps - Fatal编程技术网

从Linux生成CSV列表';ps&x27;

从Linux生成CSV列表';ps&x27;,linux,csv,ps,Linux,Csv,Ps,假设我有一个如下的ps命令: ps -Ao args:80,time,user --sort time 它将给我一个“空格”分隔的行集。一排可能是这样的 paulnath -bash 00:00:00 我想说服ps使用逗号(甚至制表符!)进行分隔,这样它就可以被其他语言自动处理。请注意,args中可能有空格,因此按字段awking本身不起作用。您可能希望从/proc/[0-9]*/获取所需信息。我想您会发现它比ps的输出更易于编程访问。如何: ps -Ao args:80,time,use

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

ps -Ao args:80,time,user --sort time 
它将给我一个“空格”分隔的行集。一排可能是这样的

paulnath -bash 00:00:00

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

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

如何:

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

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

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

ps -Ao "%U,%t,%a"

将命令行保留在末尾,否则,如果命令行包含一些
将很难解析:)则%是所谓的AIX格式描述符。并非所有ps列都有这样的描述符。例如,rsz列没有它。