在bash中连接两个没有换行符的命令的输出

前端之家收集整理的这篇文章主要介绍了在bash中连接两个没有换行符的命令的输出前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要的:

假设我有两个命令,A和B,每个命​​令都返回一个单行字符串(即一个没有换行符的字符串,最后可能只有1).我需要一个命令(或管道命令序列)C,它连接同一行上命令A和B的输出,并在它们之间插入1个空格字符.

它应该如何工作的示例:

例如,假设命令A的输出是引号之间的字符串:

"The quick"

并且假设命令B的输出是引号之间的字符串:

"brown fox"

然后我希望命令C的输出是引号之间的字符串:

"The quick brown fox"

我最好的尝试解决方

在试图通过自己找出C时,似乎管道命令的后续顺序应该起作用:

{ echo "The quick" ; echo "brown fox" ; } | xargs -I{} echo {} | sed 's/\n//'

不幸的是,这个命令的输出

The quick
brown fox
你可以使用tr:
{ echo "The quick"; echo "brown fox"; } | tr "\n" " "

或使用sed:

{ echo "The quick"; echo "brown fox"; } | sed ':a;N;s/\n/ /;ba'

OUTPUT:

The quick brown fox

猜你在找的Bash相关文章