【发布时间】:2019-12-08 19:10:48
【问题描述】:
我正在尝试编写一个 shell 脚本/bash 命令,它将使用 csv 中的第三个字段(以 91 开头)比较 2 个 csv 文件,第一个文件有数百万条记录,第二个文件,一个较小的文件有数千条数据.如果通过比较第一个文件中的第三个字段在第二个文件中找到匹配项,则第二个文件中的匹配记录(较小的一个)应替换第一个文件中的记录或创建一个第三个文件,该文件将具有来自第二个文件的匹配记录替换第一个文件中的匹配记录。
我正在尝试这样的事情,但没有给出所需的输出:grep -v -f file2.csv file1.csv
CSV 文件 1:
0,104673081,91623178295,false,2019-03-21 03:31:04,2019-03-24 13:18:03
0,104673361,91678296502,false,2019-03-21 03:35:35,2019-05-22 21:55:50
0,104679130,**91661560977**,false,2019-03-21 03:36:37,2019-03-21 03:37:00
0,104674082,91691721155,false,2019-03-21 03:49:07,2019-06-21 08:13:00
CSV 文件 2:
0,104673063,91623178427,false,2019-03-21 03:31:04,2019-03-24 13:18:03
0,104673321,91678296913,false,2019-03-21 03:35:35,2019-05-22 21:55:50
0,104679111,**91661560977**,false,2019-03-21 03:36:37,2019-03-21 04:34:00
预期输出:
文件 1(通过比较第三个字段来匹配第二个文件的记录,即第二个文件中的 91661560977 已经替换了第一个文件中的记录)
0,104673081,91623178295,false,2019-03-21 03:31:04,2019-03-24 13:18:03
0,104673361,91678296502,false,2019-03-21 03:35:35,2019-05-22 21:55:50
0,104679111,**91661560977**,false,2019-03-21 03:36:37,2019-03-21 04:34:00
0,104674082,91691721155,false,2019-03-21 03:49:07,2019-06-21 08:13:00
【问题讨论】:
-
请在您的问题中添加两件事。 1- 代码标签中的两个输入文件的示例。 2- 代码标签中的预期输出示例,一旦完成,请在此处的评论部分告诉我们。
-
嗨,Ravinder,如前所述添加了详细信息