Ps

在linux中使用管道時如何列印ps頭

  • January 1, 2015

在linux中使用管道時如何列印ps頭

這個正常的ps輸出

$ ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 17:00 ?        00:00:02 /usr/lib/systemd/systemd

但在沒有標題的 ps 命令輸出下方

$ ps -ef | grep systemd
root          1      0  0 17:00 ?        00:00:02 /usr/lib/systemd/systemd

如何為第二個命令列印 ps 標頭?

謝謝

我的第一直覺是這樣做 ps -ef | grep UID && ps -ef | grep systemd,但這也會像這樣列印 grep 命令

$ ps -ef | grep UID && ps -ef | grep systemd
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 17:00 ?        00:00:02 /usr/lib/systemd/systemd
user          PID PPID  C 23:30 ?        00:00:00 grep systemd
user          PID PPID  C 23:30 ?        00:00:00 grep UID

我看不出如何只列印標題,因為無論何時執行此操作,正則表達式都會匹配 grep 本身。

這可以避免在其中放置 greps

ps -ef > tmpfile.txt; egrep 'UID|systemd' tmpfile.txt; rm tmpfile.txt

引用自:https://unix.stackexchange.com/questions/176904