如何从输出中删除行尾

How can I remove the line endings from output

我运行的命令是:

locate -b '\java' | xargs -ri  find {} -prune -type f -executable | xargs bash -c '[=10=] -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)

我希望做的是将其全部放在一行中。

我尝试了各种 sed 和 awk,但总是返回 3 行。

添加:

| awk '{printf "%s%s", sep, [=10=]; sep=OFS} END{print ""}'

到您现有管道的末尾。如果那没有改变输出那么它很可能会变成 std​​err 而不是 stdout 所以然后将上面的更改为:

2>&1 | awk '{printf "%s%s", sep, [=11=]; sep=OFS} END{print ""}'