将参数与文件并排合并

将参数与文件并排合并

这是保存在文件中的前缀

wolf@linux:~$ cat prefix.txt 
A. 
B. 
C. 
wolf@linux:~$ 

我想将其与另一个输入合并(以垂直格式)

这是示例输入AB_CD_EF,但它是水平格式的。

所以我曾经tr把它改成垂直格式。

wolf@linux:~$ echo AB_CD_EF | tr _ '\n'
AB
CD
EF
wolf@linux:~$ 

如何合并这两个输出以生成:

A. AB
B. CD
C. EF

我一直在考虑使用paste,但它不适用于标准输入。

wolf@linux:~$ paste $(echo AB_CD_EF | tr _ '\n') prefix.txt
paste: AB: No such file or directory
wolf@linux:~$ 

这些数据不按顺序排列,我不是在寻找解决方案,例如echo {A..C}

如果有更好的方法来做到这一点,请告诉我。

答案1

paste确实适用于标准输入,但您需要告诉它在哪里(带有参数-),并在标准输入上提供输入:

echo AB_CD_EF | tr _ '\n' | paste -d\  prefix.txt -

在您的尝试中,您希望粘贴的文本作为参数提供,而不是在标准输入上;paste期望那里有文件名。

相关内容