我没有太多使用 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)