如何从命令行合并两个 CSV 文件?
Posted
技术标签:
【中文标题】如何从命令行合并两个 CSV 文件?【英文标题】:How can I merge two CSV files from command line? 【发布时间】:2015-06-11 12:56:32 【问题描述】:我有两个标题相同的 CSV 文件,分别称为 a.csv 和 b.csv。如何将这两个文件合并到第三个 c.csv 中,使 c 由 a 和 b 中的所有行组成?
【问题讨论】:
【参考方案1】:基本合并是
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
【讨论】:
它工作正常。但我不明白为什么+2?标题是一行,对吧? @AravindhKuppusamy :如果您想得到人们的回复,请务必包含他们的@nameNoSpaces
标签;-)。 +2
的意思是“从第二行开始”,对吧?祝你好运。【参考方案2】:
我想加入两个 CSV 文件,但下面的单行代码不起作用cat file1.csv <(tail file2.csv) > file.csv
奇怪的是,我不得不告诉 tail 跳过 0 行cat file1.csv <(tail +0 file2.csv) > file.csv
【讨论】:
【参考方案3】:这是我的答案(忽略第一行并添加下一行)
cat sample1.csv <(echo) <(tail +2 sample2.csv) > sample3.csv
【讨论】:
以上是关于如何从命令行合并两个 CSV 文件?的主要内容,如果未能解决你的问题,请参考以下文章