0
一些程序的輸出開始列名(例如,ps a
):如何在使用grep時保留列標題?
$ ps a
PID TTY STAT TIME COMMAND
1306 tty1 Ss+ 0:00 /sbin/mingetty /dev/tty1
1318 hvc0 Ss+ 0:00 /sbin/agetty hvc0 38400 vt100-nav
14696 pts/0 Ss 0:00 -bash
15283 pts/0 R+ 0:00 ps a
現在,讓我們說,我想找到的agetty的一個匹配的字符串
$ ps a | grep agetty
1318 hvc0 Ss+ 0:00 /sbin/agetty hvc0 38400 vt100-nav
15339 pts/0 S+ 0:00 grep agetty
,我就必須看到ps a
的輸出開始,我不知道ps a | grep agetty
的輸出是什麼意思。
我可以打印的第一行,然後匹配的行:
$ ps a | head -n1; ps a | grep agetty
PID TTY STAT TIME COMMAND
1318 hvc0 Ss+ 0:00 /sbin/agetty hvc0 38400 vt100-nav
15542 pts/0 S+ 0:00 grep agetty
然而,這並沒有解決我的問題的時候,我不知道有多少標題行也有。 有沒有一種方法來獲取標題和匹配的行,或者一些簡短的解決方法來實現?