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

xurqigkl  于 2022-11-29  发布在  Unix
关注(0)|答案(4)|浏览(164)

我有两个标头相同的CSV文件,分别称为a.csv和b.csv。如何将这两个文件合并到第三个c.csv文件中,使c由a和b中的所有行组成?

jxct1oxe

jxct1oxe1#

一个基本的合并将是

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

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

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

$ 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公司

vqlkdk9b

vqlkdk9b2#

我想加入两个CSV文件,但下面的一行代码不起作用
cat file1.csv <(tail file2.csv) > file.csv
奇怪的是,我不得不告诉"尾巴"跳过"0行"
cat file1.csv <(tail +0 file2.csv) > file.csv

js81xvg6

js81xvg63#

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

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

rsaldnfx4#

我稍微修改了一下答案,因为它在bash中不起作用:

cat csv_1.csv > result_12.csv && tail -n +2 csv_2.csv >> result_12.csv
  1. csv_1.csv将CSV第一行列标题和转储保存在result.csv中
    1.从csv_2.csv中删除第一行列标题并附加到result.csv中

相关问题