【问题标题】:Compare two CSV files of different length比较两个不同长度的 CSV 文件
【发布时间】:2021-03-02 21:11:32
【问题描述】:

我有两个不同记录的 CSV 文件。如果匹配,我必须将 file1 的第 1 列与 file2 的第 1 列进行比较,然后仅打印 file2 中第 2 列不匹配的那些行。 需要帮助才能使用 Unix 命令执行此操作。

【问题讨论】:

  • 你能举一些例子数据吗?
  • edit您的问题并添加示例输入文件和预期输出。将输入和输出数据格式化为代码块。

标签: csv unix compare


【解决方案1】:

没有示例数据很难发布解决方案,但您可以尝试以下 awk 示例:

awk -F, 'NR==FNR { map[$2]=1;next } { if (map[$2]!=1) { print } }' file1.csv file2.csv

使用 -F 将字段分隔符设置为逗号。首先处理第一个文件(NR==FNR),创建一个名为 map 的数组,其中第二个逗号分隔字段作为索引。然后在处理第二个文件时,如果map中没有第二个字段的条目,则打印该行。

【讨论】:

    猜你喜欢
    • 2013-04-02
    • 2021-02-25
    • 2021-11-14
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    • 2021-11-28
    相关资源
    最近更新 更多