这是保存在文件中的前缀
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
期望那里有文件名。