如何从命令行合并两个 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
我有两个具有相同 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