分页: 1 / 1

求助:如何递归比较两个文件夹的不同,然和把两个文件夹合并到一起?

发表于 : 2009-03-04 13:43
iheartpp
我有两个文件夹A&B, A和B中都建立有很多级的子文件夹。这两个文件夹原先是一样的,但是由于不断地更改,内容发生了变化,怎样才能设计一个shell script,递归比较两个文件夹的不同,然和把两个文件夹合并到一起?

比如,把B文件夹合并到A里面,

就先递归比较A和B里面的每一级子文件夹名称是否相同:

子文件夹名称如果一样的话:

递归向下比较……如果到头了,目录不再含有子目录了,那就比较这个目录下的每一个文件是否相同:文件也相同的话把B里面的文件删掉,A里面的保留;文件不相同把B里面的文件重命名(加上一个后缀之类的)之后放到A里面

子文件夹名称如果不一样的话:把B有A没有的复制到A里面,A有B没有的就不管了

我只是觉得这样的脚本应该很多。要是随手写一个shell script不费什么事就麻烦给我回一个贴。知道那里有一个比较好的东西的话给我一个链接也好。

谢谢。

Re: 求助:如何递归比较两个文件夹的不同,然和把两个文件夹合并到一起?

发表于 : 2009-03-04 13:43
eexpress
meld? diff3?

Re: 求助:如何递归比较两个文件夹的不同,然和把两个文件夹合并到一起?

发表于 : 2009-03-04 16:09
c\nc
两个目录都 ls -R1 一下,输出用管道或者干脆重定向到文件,然后 diff 或者 meld 。

Re: 求助:如何递归比较两个文件夹的不同,然和把两个文件夹合并到一起?

发表于 : 2009-05-02 11:57
opp
如果文件分级都是一样的,想合并用cp -u命令不就可以了嘛?感觉shell想实现挺有难度的,而且特费事,还不如自己一个一个看了。当然就是为了想学习shell另当别论