回答:
manページから:
-o format user-defined format.
format is a single argument in the form of a blank-separated or comma-separated list, which offers a
way to specify individual output columns. The recognized keywords are described in the STANDARD FORMAT
SPECIFIERS section below. Headers may be renamed (ps -o pid,ruser=RealUser -o comm=Command) as
desired. If all column headers are empty (ps -o pid= -o comm=) then the header line will not be
output. Column width will increase as needed for wide headers; this may be used to widen up columns
such as WCHAN (ps -o pid,wchan=WIDE-WCHAN-COLUMN -o comm). Explicit width control
(ps opid,wchan:42,cmd) is offered too. The behavior of ps -o pid=X,comm=Y varies with personality;
output may be one column named "X,comm=Y" or two columns named "X" and "Y". Use multiple -o options
when in doubt. Use the PS_FORMAT environment variable to specify a default as desired; DefSysV and
DefBSD are macros that may be used to choose the default UNIX or BSD columns.
だから試してください:
/bin/ps -o uname:1,ppid:1,pid:1
最初の6つのフィールドには空白文字を含めないでください(ユーザー名で許可しない限り)。出力を後処理できます。
ps --no-headers -exo "uname,ppid,pid,etime,%cpu,%mem,args" | sed '
s/[\"]/\\&/g
s/ */,/;s/ */,/;s/ */,/;s/ */,/;s/ */,/;s/ */,"/
s/$/"/'
ここでは、"
sと\
s をエスケープした後の最後のフィールド(args)を引用してい\
ます。
次のような出力を生成します。
stephane,3641,3702,10-00:20:24,0.1,0.3,"some cmd,and,args... VAR=foo\"bar"
あなたは使うことができsed
てps
。だからあなたが欲しいものはここにあります:-
ps --no-headers -exo "uname,ppid,pid,etime,%cpu,%mem,args" | sed 's/\ /,/g'
それは有用であろう場合の出力として、しかし、私は、不思議ps
自体がの多くを持っています,
。
,
最後にa を付けられる可能性のある列を1つだけ選択したと思いますが、この解決策では,
、その列から不要なを削除します。
tr ' ' ,
です。たぶんtr -s ' ' ,
ここに。