我有两个目录,它们是同一软件包的不同版本。我想列出两者之间已更改的所有文件/目录,然后将这些差异复制到新目录。
我一直在尝试使用不同的脚本md5sum
,diff -Nurq
但一直无法得到我正在寻找的结果。
有什么建议吗?
答案1
你应该改用rsync
。类似的事情rsync -rv $old/ $new/
应该可以解决问题:这将打印要复制的文件。
在实际修改新目录之前,使用additional-n
进行空运行。
答案2
我发现的最好的工具是将 vim 与目录差异插入。如果你使用vim
和vimdiff
,这个插件会很容易学习。
作者是这样描述的:
描述
这是一个实用程序,可在两个目录上执行递归比较并生成比较“窗口”。基于该窗口,您可以执行各种比较操作,例如在 Vim 的比较模式下打开两个文件、将文件或目录递归复制到另一个文件或目录,或者从源目录中删除目录树。
DirDiff 就像用来vimdiff
比较两个目录以及其中包含的所有子目录和文件。我经常使用这个工具来比较不同的 Subversion 分支、不同主机上的配置目录等。
截图请看dedm的博客:http://dedm.livejournal.com/115224.html