grep结果不是我想要的

时间:2017-04-10 10:57:52

标签: grep pipe

java -version输出如下:

> java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

然后我运行grep命令,但无法获得我预期的结果。

>java -version | grep "version"
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

我的预期结果只是第一行

java version "1.8.0_101"

为什么?

1 个答案:

答案 0 :(得分:1)

java -version将文本打印到标准错误,而不是标准输出。所以你应该这样做:

java -version 2>&1|grep "version"