【发布时间】:2013-05-06 00:38:45
【问题描述】:
似乎较新版本的 bash 具有 &> 运算符,它(如果我理解正确的话)将 stdout 和 stderr 都重定向到文件(&>> 改为附加到文件中,正如 Adrian 澄清的那样)。
实现相同目的的最简单方法是什么,而不是管道到另一个命令?
例如,在这一行中:
cmd-doesnt-respect-difference-between-stdout-and-stderr | grep -i SomeError
我希望 grep 匹配 stdout 和 stderr 中的内容(实际上,将它们合并到一个流中)。
注意:这个问题询问的是管道,不是重定向 - 所以它不是它当前标记为重复的问题的重复。
【问题讨论】:
-
查看链接问题的第二个答案 (stackoverflow.com/a/637834/1129642) 以了解管道 stdout 和 stderr 的正确方法。不需要再问了。
-
@triplee 不是完全重复的,是吗?管道与重定向到文件?
-
@BenjaminW 至少有一个答案可以解决这两种情况,尽管它不是公认的答案。这是一个相当常见的问题,因此我们可能会找到更好的副本,或者请版主合并这些 - 甚至在最坏的情况下,为这个主题制作一个全新的规范。如果你找到一个更好的骗子,一定要提出来。提前致谢。
-
@tripleee 解决,是的,但没有一个答案使用
|&快捷方式,我认为这是迄今为止“将标准输出和标准错误重定向到管道”最方便的解决方案。跨度> -
这不是链接问题的重复,并且不清楚 Marko 的回答是否符合我的要求。此外,它没有提到|&。投票重新开放。