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 ?


  1. linefeed https://en.wikipedia.org/wiki/Linefeed#Representation ↩︎

  • thingsiplay@beehaw.org
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    3 months ago

    If I do ps aux | grep root, then the newline is preserved. So I’m not sure what exactly the problem is. There is a user option for ps, but it does not work with aux, ps --user root . You can ps ax --user root, but I’m not sure if this output is what you want.

    Btw if you grep, then I recommend using ^user , so it only matches the beginning of each line (the actual username), as ps aux | \grep ^root (notice the backslash). Do you have an alias for grep? Try \grep instead. The backslash in front of the command will use the actual command and ignore your alias.

    • thingsiplay@beehaw.org
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      3 months ago

      Here is a little bonus to have in mind: You can convert newline characters to null, then grep with option null, and at last convert null characters back to newline. Now I don’t think its useful in this case, but its good to know; therefore its a bonus information:

      ps aux | tr '\n' '\0' | \grep --null-data ^root | tr '\0' '\n'