如何从命令行合并两个CSV文件?

时间:2015-04-07 02:55:35

标签: unix csv merge

我有两个具有相同标题的CSV文件,名为a.csv和b.csv。如何将这两个文件合并到第三个c.csv中,以便c由a和b中的所有行组成?

3 个答案:

答案 0 :(得分:7)

基本合并将是

 cat a.csv <(tail +2 b.csv) > c.csv

这会将所有b.csv放在a.csv之后。

修改 我添加了<(tail +2 b.csv)。它将跳过b.csv文件中的标题。

<强> EDIT2

$ cat a.csv
hdr
a
b
c
$ cat b.csv
hdr
e
f
g

$ cat a.csv <(tail +2 b.csv)
hdr
a
b
c
e
f
g

IHTH

答案 1 :(得分:0)

我想加入两个CSV文件,但是下面的一排纸不起作用
cat file1.csv <(tail file2.csv) > file.csv

奇怪的是,我不得不告诉 tail 跳过 0行
cat file1.csv <(tail +0 file2.csv) > file.csv

答案 2 :(得分:0)

这是我的答案(忽略第一行并添加下一行)

 cat sample1.csv <(echo) <(tail +2 sample2.csv) > sample3.csv