linux - Grep-ing 同时保持第一行

标签 linux bash shell grep pipe

我试图理解这种奇怪的行为。基本上,我试图在保留第一行/标题的同时 grep 命令的输出。我在这里先向您的帮助表示感谢。

成功案例

ps -ef | { head -1; grep bash; }

输出:

UID        PID  PPID  C STIME TTY          TIME CMD
username  1008     1  0 Jan21 tty1     00:00:00 -bash
username  1173  1008  0 Jan21 tty1     00:00:00 -bash

失败案例

 ls -tlrh / | { head -1; grep tmp; }

输出:

total 100K

(即:它忽略 /tmp 文件夹)

最佳答案

@Jotne 的答案更好,但有时您可以使用 grep -E 如果您知道第一行中的内容,那么您可以使用管道搜索该内容或您想要的其他内容表示交替的符号:

ps -ef | grep -E "UID|bash"

输出

UID   PID  PPID   C STIME   TTY           TIME CMD
502   510   509   0  8:01am ttys000    0:00.08 -bash
502 48806   510   0 10:18am ttys000    0:00.00 grep -E UID|bash

关于linux - Grep-ing 同时保持第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28085691/

相关文章:

python - 导入 ConfigParser 读取文件时出现问题

linux - 如何使用参数创建 grep 别名

linux - 如何在 Linux 2.6.29 的 ioctl 中解码 cmd = 3222823425?

linux - bash shell脚本中的最后一行命令是否将退出代码传递给父级?

Bash - stderr 在 stdout 之前捕获

PYTHONPATH 不包含在 Ubuntu 16.04 的 sys.path 中

bash - 如何管理 jq 将 bool 值返回给 bash 以供将来继续

postgresql - 如何重新启动特定版本的 PostgreSQL 数据库?

python - shell multipipe 被多个 python 脚本破坏

c# - 缩略图 shell 扩展 .NET