如何比较两个不同目录中文件的内容

如何比较两个不同目录中文件的内容

您能告诉我如何比较两个不同目录层次结构下每个文件的内容吗?我在 MacOS X 平台上?

谢谢。

答案1

差异合并可以做你需要的事情:

对两个文件夹进行并排比较,显示哪些文件仅存在于一个文件或另一个文件中,以及相同或不同的文件对。

以图形方式显示两个文件之间的变化。包括行内突出显示和对编辑的全面支持。

答案2

如果您安装了开发工具,您将拥有 filemerge,它可以比较 2 个目录。但是 - 如果您还没有,那么安装它就太麻烦了。

答案3

如果你想在可视化差异程序中查看每个文件的更改,例如万花筒你可以做:

diff -rq tantan-s3 tantan-s3-cloudfront | awk '{ print $2 " " $4 }'| xargs -L 1 ksdiff

带有 -q 选项的 diff 命令可获取以下格式不同的文件列表:

Files tantan-s3/readme.txt and tantan-s3-cloudfront/readme.txt differ
Files tantan-s3/wordpress-s3/admin-options.html and tantan-s3-cloudfront/wordpress-s3/admin-options.html differ
Files tantan-s3/wordpress-s3/class-plugin-public.php and tantan-s3-cloudfront/wordpress-s3/class-plugin-public.php differ
Files tantan-s3/wordpress-s3/class-plugin.php and tantan-s3-cloudfront/wordpress-s3/class-plugin.php differ
Files tantan-s3/wordpress-s3/config-sample.php and tantan-s3-cloudfront/wordpress-s3/config-sample.php differ
Files tantan-s3/wordpress-s3.php and tantan-s3-cloudfront/wordpress-s3.php differ

awk 命令将其清理干净,只留下文件名:

tantan-s3/readme.txt tantan-s3-cloudfront/readme.txt
tantan-s3/wordpress-s3/admin-options.html tantan-s3-cloudfront/wordpress-s3/admin-options.html
tantan-s3/wordpress-s3/class-plugin-public.php tantan-s3-cloudfront/wordpress-s3/class-plugin-public.php
tantan-s3/wordpress-s3/class-plugin.php tantan-s3-cloudfront/wordpress-s3/class-plugin.php
tantan-s3/wordpress-s3/config-sample.php tantan-s3-cloudfront/wordpress-s3/config-sample.php
tantan-s3/wordpress-s3.php tantan-s3-cloudfront/wordpress-s3.php

带有 -L 1 选项的 xargs 命令对每组文件对执行 Kaleidascope。

答案4

如果您不介意使用命令行,您可以使用 UNIX“diff”命令。

使用 diff 运行比较的命令示例可能是:

diff -r /我的/第一个/目录 /我的/第二个/目录

这将以递归方式对两个目录之间的所有公共目录和文件执行差异比较。

参考: http://www.computerhope.com/unix/udiff.htm

相关内容