在 bash 中,有没有办法在将 STDERR 与 STDOUT 统一之前通过过滤器将其通过管道传输?也就是说,我想要

STDOUT ────────────────┐
                       ├─────> terminal/file/whatever
STDERR ── [ filter ] ──┘

而不是
STDOUT ────┐
           ├────[ filter ]───> terminal/file/whatever
STDERR ────┘

最佳答案

这是一个示例,以 how to swap file descriptors in bash 为模型。 a.out 的输出如下,没有“STDXXX:”前缀。

STDERR: stderr output
STDOUT: more regular

./a.out 3>&1 1>&2 2>&3 3>&- | sed 's/e/E/g'
more regular
stdErr output

引用上面的链接:

关于linux - 仅通过过滤器输送 STDERR,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3618078/

10-13 09:48