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

How can I merge two CSV files from command line?

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

基本合并是

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

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

编辑 我添加了 <(tail +2 b.csv)。它将跳过 b.csv 文件中的 header。

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

我想加入两个 CSV 文件,但下面的一行行不通
cat file1.csv <(tail file2.csv) > file.csv

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

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

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