Ps
ps:格式(分隔符和寬度)
我想指定列分隔符
ps -o "%a|%p" # separator |
和列寬
ps -o cmd:50,pid # width 50 for cmd
在一個命令中。這可能嗎??
這與列寬無關,但我想要完整的命令,即使它不是最後一列。
-o 命令是附加的,所以只需執行多個:
ps -a -o "cmd:50 " -o "|%p" CMD | PID /usr/lib/gnome-session/gnome-session-binary --auto| 4158
問題是你會在 PID 周圍得到一些空格作為它的右對齊。你可以看到上面的4158在管道後面有一個空格。
我需要完整的命令和 PID。命令應該是第一個。
因為您需要按預定義的順序(
cmd
和pid
)調整 2 列的輸出,所以
這裡是**ps
+ “trick”: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