【问题标题】:can't grep on 'java -version' output [duplicate]无法对“java -version”输出进行 grep [重复]
【发布时间】:2014-11-16 07:46:05
【问题描述】:

我正在尝试对命令的输出进行 grep:

java -version
java -XshowSettings

但他们似乎拒绝被重定向或通过管道传输。

我试过了

java -version | grep whatever
java -version > jout.txt

但两者都只是将输出打印到屏幕上。

发生了什么事?

谢谢, 吉拉德。

【问题讨论】:

    标签: java


    【解决方案1】:

    您需要先重定向到标准输出,然后才能像这样进行管道传输。这些消息默认发送到标准错误,而不是标准输出;这意味着grep 不会看到这些消息,它们只会被打印到控制台。

    如果是Linux,试试

    java -version 2>&1 | grep whatever
    

    它应该可以工作。这会将java执行的所有输出带到stderr,并将其重定向到与stdout相同的位置;然后您的grep 调用将能够看到它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-14
      • 1970-01-01
      • 2016-05-25
      • 2014-11-19
      • 1970-01-01
      相关资源
      最近更新 更多