+-
合并许多大型CSV文件(在Linux中)
我有~500个CSV文件,每个文件有5000行和1000列(~20Mb).我想按列添加它们并保存为大型CSV文件.

之前的帖子部分回答了这个问题
Merge multiple csv files awk column-wise, no match

但有没有办法做到这一点,而不必写出每个文件名?我的文件是顺序名称(例如,X1.csv,X2.csv,X3.csv,…,X500.csv),如果这有帮助的话.

最佳答案
举个例子,假设有三个这样的文件:

$cat X1.csv
A,B
A,B
A,B
$cat X2.csv
C
C
C
$cat X3.csv
D
D
D

我们想要以逗号分隔的格式逐行合并它们,而不是命名每个文件:

$paste -d, X{1..3}.csv
A,B,C,D
A,B,C,D
A,B,C,D

-d,告诉paste在合并文件时使用逗号作为分隔符.在bash下,表达式X {1..3} .csv按数字顺序扩展为文件序列.

如果你有500个这样的文件,命令将是:

 paste -d, X{1..500}.csv

要将输出保存到文件:

 paste -d, X{1..500}.csv >merged.csv
点击查看更多相关文章

转载注明原文:合并许多大型CSV文件(在Linux中) - 乐贴网