我需要的:
假设我有两个命令,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