我想在go程序产生的输出上运行grep。使用其他语言,我可以轻松做到。例如:java测试| grep world
即使将输出重定向到文件似乎也不起作用,并且创建的文件为空,并且终端仍会打印输出。
package main
func main() {
println("One")
println("Hello")
}
预期:
go build test.go
./test | grep 'e'
Hello
实际:
go build test.go
./test | grep 'e'
One
Hello
答案 0 :(得分:0)
我发现了自己的错误。
从println文档中:
println内置函数将其参数格式化为 特定于实现的方式,并将结果写入标准错误。
因此,它不会在stdout上输出。为了打印到标准输出,可以使用fmt.Println代替。