【问题标题】:Need perl/shell script to compare 2 files需要 perl/shell 脚本来比较 2 个文件
【发布时间】:2013-12-19 11:50:17
【问题描述】:

您好,我有以下 2 个文件,我需要脚本来比较它们并找到匹配项。我怎样才能做到这一点?

file1 为 a.txt :

Anirban
Ball
Cat
Dog
cow

file2 为 b.txt:

I am Anirban
I am Ball
I am Cat_cat
I am Dog
I am cow
I am horse 

我想要这样的输出:

I am Anirban
I am Ball
I am Dog
I am cow

我尝试了grep -f b a,它没有给出完全匹配。

【问题讨论】:

  • 这是一个安静的常见问题,goolge 会很快为您解决。

标签: perl shell sed awk grep


【解决方案1】:

这样可以是一种方式:

$ grep -wf a.txt b.txt
I am Anirban
I am Ball
I am Dog
I am cow

在您的解决方案中,您没有使用grep -w,这很方便。另外,请注意您以相反的顺序提供文件。

  • -f 用于告诉 grep 从文件中获取参数。
  • -w 匹配整个单词。

【讨论】:

    【解决方案2】:

    使用 awk

    awk 'NR==FNR{a[$1];next} $NF in a' a.txt b.txt
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多