当两个父目录的内部结构不同时,有什么方法可以同步文件吗?

当两个父目录的内部结构不同时,有什么方法可以同步文件吗?

假设我们有两个目录:

目錄A:

aaa.mov
bbb.mov
ccc.mov
ddd.mov
eee.mov

目录B:

subdir1/aaa.mov
subdir1/bbb.mov
subdir2/subsubdir/ccc.mov

我如何才能将所有 B 的子目录下不存在的文件 (ddd.mov 和 eee.mov) 从 A 传输到 B/newDir?

答案1

一个简单的 shell 脚本就可以实现你想要的...

#!/bin/sh

SRCDIR=dira
DSTDIR=dirb
SRCFILES=`find ${SRCDIR} -type f -exec basename '{}' \;`
mkdir -p ${DSTDIR}/NewDir

for FILE in ${SRCFILES}
do
        FOUND=`find ${DSTDIR} -name ${FILE} -type f`
        if [ -z ${FOUND} ]
        then
                echo -n "Copying ${FILE}..."
                cp ${SRCDIR}/${FILE} ${DSTDIR}/NewDir
                echo "done"
        fi
done

相关内容