【发布时间】:2020-06-04 00:17:07
【问题描述】:
我正在运行的命令是:
locate -b '\java' | xargs -ri find {} -prune -type f -executable | xargs bash -c '$0 -version'
下面是回复
java version "1.6.0_41"
OpenJDK Runtime Environment (IcedTea6 1.13.13) (rhel-1.13.13.1.el6_8-x86_64)
OpenJDK 64-Bit Server VM (build 23.41-b41, mixed mode)
我希望做的是把这一切放在 1 行。
我尝试了各种 sed 和 awk,但总是以 3 行返回。
【问题讨论】:
-
locate -b '\java'命令的输出是什么? -
java -version的输出是进入 stdout 还是 stderr?至少显示您尝试过的各种 sed 和 awk 脚本之一,以便我们帮助您找出它/它们的问题。 -
@EdMorton locate -b '\java' | xargs -ri find {} -prune -type f -executable | xargs bash -c '$0 -version' | awk '{print $2}' 这似乎没有任何作用
-
你没有回答我关于
Is the output of java -version going to stdout or stderr?和awk '{print $2}'的问题会从每个输出行打印第二个空格分隔的字段,这与您希望做的完全不同(即加入多个如果我正确理解您的问题,请输入 1)。 -
你在问如何删除行尾;你就是这样做的。我在您的问题中没有看到任何迹象表明您已经对此进行了探索。