ps: 형식(구분 기호 및 너비)

ps: 형식(구분 기호 및 너비)

열 구분 기호를 지정하고 싶습니다

ps -o "%a|%p"        # separator |

그리고열 너비

ps -o cmd:50,pid     # width 50 for cmd

존재하다하나주문하다. 가능합니까? ?

이는 열 너비와는 관련이 없지만 마지막 열이 아니더라도 명령의 전체 길이를 갖고 싶습니다.

답변1

-o 명령은 추가 명령이므로 둘 이상을 실행하면 됩니다.

ps -a -o "cmd:50 " -o "|%p"
CMD                                               |  PID
/usr/lib/gnome-session/gnome-session-binary --auto| 4158

문제는 PID가 올바르게 정렬되어 있기 때문에 PID 주변에 공백이 생길 것이라는 점입니다. 위에서 4158에는 파이프 뒤에 공백이 있는 것을 볼 수 있습니다.

답변2

완전한 명령과 PID가 필요합니다. 이 명령이 가장 먼저 나와야 합니다.

cmd미리 정의된 순서(및)에 따라 pid2개 열의 출력을 조정 해야 하므로
다음과 같습니다 .ps+sed "장난":

ps -ao "cmd:50,pid" | sed 's/./&|/51'

테스트 출력:

CMD                                                |  PID
nano jq1 -c                                        | 6041
man ps                                             |13714
pager                                              |13725
ps -ao cmd:50,pid                                  |13950
sed s/./&|/51                                      |13951
python                                             |15345
bash -v                                            |16513
bash +v                                            |16645
top                                                |22426
awk -F| -v cmd=xmlstarlet ed -L -u "//Add/value[%d |31412
sh -c xmlstarlet ed -L -u "//Add/value[1]/@IP" -v  |31413
xmlstarlet ed -L -u //Add/value[1]/@IP -v 1.1.1.1  |31414

관련 정보