Выход некоторых программ начинается с именами столбцов (например, 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
Однако это не решает мою проблему, когда я не знаю, сколько заголовков строк есть. Есть ли способ получить заголовки и сопоставленные строки или какое-то короткое обходное решение для достижения этого?