Shell 将两个不同行数的文本文件合并到csv文件中

Shell 将两个不同行数的文本文件合并到csv文件中,shell,Shell,我有2个文本文件如下 A.txt(包含两行): B.txt(有4行) 我想将这两个文件合并,以获得以下CSV格式的文件: column-1 column-2 abc-1234 123456 tik-3456 234567 987 12 我在指挥之下努力。但是,没有达到上述效果 paste -d "," A.txt B.txt > C.csv 它给出了以下输出: abc-1234 ,123456 tik-3456,234567 ,987 ,12

我有2个文本文件如下

A.txt(包含两行):

B.txt(有4行)

我想将这两个文件合并,以获得以下CSV格式的文件:

column-1 column-2    
abc-1234 123456
tik-3456 234567
         987
         12
我在指挥之下努力。但是,没有达到上述效果

paste -d "," A.txt B.txt > C.csv
它给出了以下输出:

abc-1234
,123456
tik-3456,234567
,987
,12

有谁能告诉我,我在这里缺少什么吗?

在linux中,我们有一个实用程序,人们认为它非常好。因此:

  • 粘贴合并文件
  • 带有-t的列创建表
以下是:

paste -d',' /tmp/1 /tmp/2 | column -t -N 'column-1,column-2' -s',' -o' '

输出所需的结果。

您的预期输出没有逗号,您到底想要什么?我猜您的a.txt在第一行末尾包含^M或类似的内容。尝试重新创建file@AndreGelinas:对,你的指针帮助了我。A.txt以某种方式具有^M字符,这导致了问题。我已经修好了,现在可以用了。谢谢你,安德烈。
abc-1234
,123456
tik-3456,234567
,987
,12
paste -d',' /tmp/1 /tmp/2 | column -t -N 'column-1,column-2' -s',' -o' '