合并3个csv文件及其数据在不同的列中

时间:2013-09-07 17:25:30

标签: perl bash shell awk

嗨我有3个不同类型数据的csv文件,所有文件中的行数也不同。我想将它们合并到一个单独的csv文件中但是当使用“粘贴命令数据被复制到output.csv但被复制到下一行而不是在不同的列中时。”

file1.csv

CELBU,398
ORICE,1026
JSCUN,134250
BHARA,66
MOBTE,2041
RMO,65081 

file2.csv

8/22/2013,1417196108
8/23/2013,1370586883
8/24/2013,1362561606

file3.csv

ISBND,9 
BHARH,25

期望的输出:

CELBU,398,8/22/2013,1417196108,ISBND,9
ORICE,1026,8/23/2013,1370586883,BHARH,25
JSCUN,134250,8/24/2013,1362561606
BHARA,66
MOBTE,2041
RMO,65081

尝试:

paste -d"," file1.csv file2.csv file3.csv > output.csv

请建议这个问题可以通过perl或shell脚本解决。

1 个答案:

答案 0 :(得分:1)

您可以将pr命令与merge:

一起使用

文件1:

CELBU,398 
ORICE,1026 
JSCUN,134250 
BHARA,66 
MOBTE,2041 
RMO,65081 

file2的:

8/22/2013,1417196108
8/23/2013,1370586883
8/24/2013,1362561606

file3的:

ISBND,9 
BHARH,25

输入:

pr -tm -s, file1 file2 file3 > new

输出:

CELBU,398,8/22/2013,1417196108,ISBND,9
ORICE,1026,8/23/2013,1370586883,BHARH,25
JSCUN,134250,8/24/2013,1362561606
BHARA,66
MOBTE,2041
RMO,65081
  • -t, - omom-header省略页眉和预告片
  • -m, - merge并行打印所有文件,每列一个,截断行,但使用-J
  • 连接全长行
  • -s用单个字符分隔列

http://linux.about.com/library/cmd/blcmdl1_pr.htm

相关问题