Hi,
by doing a
ps aux | grep UserName
The output do not keep the LF[1] 😡
I’ve found some solution online by they involve 3 or more pipe |
!
On my side, I’ve made this
ps -fp $(pgrep -d, -u UserName)
But still I found it not super human readable.
Is their a native way with ps
to filter users ? or to grep
it but the keep the LF ?
I’m not really sure what it is you’re asking for here. As another commenter said, ps
outputs a list of newline separated entries (using \n
, the standard LF character). I even ran some sanity checks to make sure it wasn’t using \r\n
(CR LF) with the following:
$ ps aux | grep $USER | tr -cd "\n" | wc -m
14
$ ps aux | grep $USER | tr -cd "\r" | wc -m
0
The output of ps aux | grep $USER
is consistent with the formatting of ps aux
. I also found that ps aux | grep $USER
was consistent with ps -fp $(pgrep -d, -u $USER)
except that ps -fp $(pgrep -d, -u $USER)
shows the header (UID PID PPID C STIME TTY TIME CMD
), does not show the processes related to the command (entries of ps aux
and grep --color=auto $USER
), and does not show grep’s keyword matching by highlighting all matches within a line. It is otherwise completely identical.
Can you provide the output that you are getting that is unsatisfactory to you? I don’t think I can otherwise understand where the issue is.