比较两个文件中的行

比较两个文件中的行

我有一个 CSV 格式的文件,如下所示:

在此处输入图片描述

我应用了一个 Excel 公式来计算每个用户出现的次数,以了解每个用户在 2019 年拥有的权限总数:

在此处输入图片描述

我现在已经获得了去年(2018 年)的类似文件,以确定以下内容:

  • 用户今年获得的新权益
  • 确定是否有任何新用户在 2019 年列出,但在 2018 年未列出

我将非常感激您使用 bash shell 脚本帮助我完成上述操作。

答案1

使用 awk 可以轻松完成此操作。假设您的 csv 文件名为 table2018.txt(字段分隔符为逗号)。我们进一步假设您的 USER 位于第 1 列。尝试以下操作:

awk -F"," '{a[$1]++} END {for (i in a) print i, a[i]}' table2018.txt

在这种情况下不允许使用标题。因此第一行必须是数据行。如果第一行是标题,则使用以下方式从第二行开始计数:

awk -F"," 'NR>1 {a[$1]++} END {for (i in a) print i, a[i]}' table2018.txt

相关内容