【发布时间】:2014-08-29 18:52:23
【问题描述】:
所以基本上我想合并几个 CSV 文件。我使用以下脚本来做到这一点:
paste -d , *.csv > final.txt
然而,这在过去对我有用,但这次它不起作用。它将数据彼此相邻而不是彼此附加。例如两个文件包含以下格式的记录
CreatedAt ID
Mon Jul 07 20:43:47 +0000 2014 4.86249E+17
Mon Jul 07 19:58:29 +0000 2014 4.86238E+17
Mon Jul 07 19:42:33 +0000 2014 4.86234E+17
合并后给出
CreatedAt ID CreatedAt ID
Mon Jul 07 20:43:47 +0000 2014 4.86249E+17 Mon Jul 07 18:25:53 +0000 2014 4.86215E+17
Mon Jul 07 19:58:29 +0000 2014 4.86238E+17 Mon Jul 07 17:19:18 +0000 2014 4.86198E+17
Mon Jul 07 19:42:33 +0000 2014 4.86234E+17 Mon Jul 07 15:45:13 +0000 2014 4.86174E+17
Mon Jul 07 15:34:13 +0000 2014 4.86176E+17
有谁知道这背后的原因是什么?或者我可以做些什么来强制合并以下记录?
【问题讨论】:
-
您的 .csv 文件之一似乎比其他 .csv 文件的行数更多。不确定您从哪里获得空间。粘贴命令使用“,”分隔条目。
-
你的意思是你做了
cat file*.csv > final.csv。这会给你“彼此下方”的记录。祝你好运。 -
-d ,的目的是什么? -
结果应该是怎样的?你的意思是
join? -
@ArunSangal :是的,但是计数对于加入应该不重要吗?赛勒斯 - 是的,我的意思是加入。 -d 的目的是用逗号分隔它。下面的答案也有效。