G ++和sed管道

Kla*_*aus 1 bash g++ sed

我想在g ++的控制台输出中用"on"替换所有"no".我试过了

$ g++ | sed -e 's/no/on/g'
Run Code Online (Sandbox Code Playgroud)

但它表明

i686-apple-darwin9-g ++ - 4.0.1:没有输入文件

代替

i686-apple-darwin9-g ++ - 4.0.1:关于输入文件

Gre*_*con 6

消息到达标准错误,但shell管道操作符将一个进程的标准输出连接到下一个进程的标准输入.

要重新路由stderr,请使用

$ g++ 2>&1 | sed -e 's/no/on/g'
Run Code Online (Sandbox Code Playgroud)

要么

$ g++ |& sed -e 's/no/on/g'
Run Code Online (Sandbox Code Playgroud)

要得到

g++: on input files