小编Rqo*_*mey的帖子

我如何使用 tee 重定向到 grep

我没有太多使用 tee 的经验,所以我希望这不是很基本。

在查看了这个问题的一个答案后,我遇到了一个奇怪的行为tee

为了让我输出第一行和找到的行,我可以使用这个:

ps aux | tee >(head -n1) | grep syslog
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
syslog     806  0.0  0.0  34600   824 ?        Sl   Sep07   0:00 rsyslogd -c4
Run Code Online (Sandbox Code Playgroud)

然而,我第一次运行这个(在 zsh 中)结果是错误的顺序,列标题低于 grep 结果(但这并没有再次发生),所以我尝试交换命令:

ps aux | tee >(grep syslog) | head -n1
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
Run Code Online (Sandbox Code Playgroud)

只打印第一行,没有别的!我可以使用 tee 重定向到 grep,还是我以错误的方式执行此操作?

当我输入这个问题时,第二个命令实际上对我有用一次,我再次运行了五次,然后返回到一行结果。这只是我的系统吗?(我在 tmux 中运行 zsh)。

最后,为什么第一个命令没有显示“grep syslog”作为结果(只有一个结果)?

这里的控制是没有的 grep tee

ps …
Run Code Online (Sandbox Code Playgroud)

grep bash pipe process-substitution tee

13
推荐指数
1
解决办法
2万
查看次数

标签 统计

bash ×1

grep ×1

pipe ×1

process-substitution ×1

tee ×1