2016-03-12 189 views
0

我试图创建一个更新脚本,它将合并两个目录的内容。我有一个具有类似结构的主目录:使用Linux命令行更新文件

master 
- dir1 
    - subdir1 
    - subdir2 
- dir2 
- dir3 

和像

update 
    - dir1 
    -subdir2 

如何创建一个脚本,通过更新目录遍历和主代替内容的更新目录。由于更新目录的内容包含与主文件不同的文件,因此我不必合并文件,而是替换整个子目录。

我已经试过这

for D in $(find -mindepth 3 -maxdepth 3 -type d) ; 
do 
    rm -rf .$D 
done 

删除主目录,但无法弄清楚如何操作$ d变量更新的内容复制到主。也许这不是最好的方法,但找不到其他的选择。

+0

下是否更新subdir2包含整个主树,还是一样的subdir2存在于主?子目录 – tink

+0

只包含一组文件,没有附加的子目录 – user2254532

回答

0

我终于做到了这一点:

for D in $(find -mindepth 3 -maxdepth 3 -type d) ; 
do 

    rm -rf ../${D:2} 
    cp -avr ${D:2}/ ../${D:2} 

done