【发布时间】:2014-10-10 08:34:31
【问题描述】:
某些程序的输出以列名开头(例如,ps a):
$ 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
但是,当我不知道有多少标题行时,这并不能解决我的问题。 有没有获取标题和匹配行的方法,或者一些简短的解决方法来实现这一点?
【问题讨论】:
标签: terminal console grep output find-occurrences