【发布时间】:2011-05-17 18:02:31
【问题描述】:
我有两个目录,它们是同一个软件包的不同版本。我想列出两者之间发生更改的所有文件/目录,然后将这些差异复制到新目录。
我一直在尝试使用 md5sum 和 diff -Nurq 的不同脚本,但无法获得我想要的结果。
有什么建议吗?
编辑:
我最初尝试使用md5sums,但这似乎不起作用,尤其是在缺少新文件的情况下。
接下来我尝试了这样的循环:
for x in `diff -Nurq ./dir1/ ./dir2/ | awk -F" " '{print $4}'`
do
mkdir -vp ./dir_1_2_upgrade/$x;
cp $x ./dir_1_2_upgrade/$x
done
但这最终导致了一堆目录而没有文件。
【问题讨论】:
-
你尝试了什么,它是如何失败的?
-
@larsmans 请看我的编辑。
-
您复制有更改的文件的方法永远不会捕获删除,这是一件坏事吗?
-
@larsmans,我认为这是一件好事,因为我想为用户提供添加新内容的选项,但不会破坏他们之前可能建立的任何内容。处理删除听起来更复杂,对吧?
标签: command-line diff md5sum