Adakah cara untuk menyinkronkan file dari dua direktori induk, ketika struktur bagian dalamnya berbeda?

2

Katakanlah kita memiliki dua direktori:

Direktori A:

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

Direktori B:

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

Bagaimana saya bisa mentransfer dari A ke B / newDir, semua file yang tidak ada di bawah subdirektori B (ddd.mov & amp; eee.mov)?

nuc
sumber
Menilai dari /, sistem operasi apakah Linux atau Mac OS X?
Olli
yah..Mac OS X :)
nuc

Jawaban:

3

Script shell sederhana akan mencapai apa yang Anda inginkan ...

#!/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
Majenko
sumber