【问题标题】:How to do the opposite of diff? [duplicate]diff的反面怎么办? [复制]
【发布时间】:2011-12-20 19:51:27
【问题描述】:

可能重复:
how to show lines in common (reverse diff)?

有没有与 diff 相反的命令?如果两个文件中存在相同的东西,我想比较两个文件,创建它们的列表。我正在尝试找出两个文件中存在哪些条目。

【问题讨论】:

  • 您可能想查看:stackoverflow.com/questions/746458/…,然后将此问题标记为重复。
  • 如果您可以编辑和添加细节,这可能不会关闭,例如您想在 Linux 上执行此操作等。
  • 我发现我之前不知道 comm 命令,但无论如何两个列表只想知道相同的 comm -1 -2 file1 file2 > outputfile.txt 工作谢谢你的帮助。可能是我想要的最简单的答案。

标签: linux shell diff


【解决方案1】:

这是一个不会改变行顺序的解决方案:

fgrep -x -f file1 file2

【讨论】:

  • 这不是反向差异,但仍然可能有用。它打印file2 中与file1 中的某些行完全匹配的行。 fgrep 搜索固定字符串匹配 -f 使用 file1 作为 grep 搜索模式列表 -x 仅打印完全匹配的行
【解决方案2】:

使用连接命令:

join a.txt b.txt

假设文件已排序;如果没有:

sort a.txt > sorted_a.txt; sort b.txt > sorted_b.txt; join sorted_a.txt sorted_b.txt

【讨论】:

    猜你喜欢
    • 2012-03-13
    • 2011-11-07
    • 2015-11-01
    • 1970-01-01
    • 2012-04-30
    • 2017-05-18
    • 2010-12-31
    • 2012-04-14
    • 1970-01-01
    相关资源
    最近更新 更多