【发布时间】:2011-10-06 08:31:26
【问题描述】:
在 Fedora Constantine 盒子上工作。我正在寻找diff 递归地检查两个目录以检查源更改。由于项目的设置(在我自己参与上述项目之前!sigh),目录包含源代码和二进制文件,以及大型二进制数据集。虽然 diff 最终会在这些目录上起作用,但如果我可以忽略二进制文件,可能需要 20 秒。
据我所知,diff 没有“忽略二进制文件”模式,但确实有一个忽略参数,它将忽略文件中的正则表达式 within。我不知道该写什么来忽略二进制文件,不管扩展名。
我正在使用以下命令,但它不会忽略二进制文件。有谁知道如何修改这个命令来做到这一点?
diff -rq dir1 dir2
【问题讨论】:
-
尝试使用
cmp而不是diff,不会忽略二进制文件,但应该更快 -
eek。这是源代码控制的典型理由。如果你不使用它,你应该使用它。如果决定权不在你手中,你应该激烈争论。你的问题会随着正确的 git 设置而消失......
-
哦,相信我。我知道。我正在做本科研究,但这并没有按照应有的方式进行设置。相信我。我知道。 CVS/SVN/GIT 会解决这个问题。知道还有什么比这更糟糕的吗?我被分配从事一个几乎没有文档的 Fortran 项目。该目录中有 8 个版本的项目,每个版本都有不同的 makefile(几乎 ;))做同样的事情。相信你,我正在尽我所能与我的监督争论。
-
@FredrikPihl I don't think cmp 支持目录。更不用说递归了。它支持 10 年前的目录吗?
标签: bash shell diff binaryfiles