Un modo per sincronizzare i file da due directory principali, quando la loro struttura interna è diversa?


2

Diciamo che abbiamo due directory:

Directory A:

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

Elenco B:

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

Come posso trasferire da A a B / newDir, tutti i file che non esistono nelle sottodirectory di B (ddd.mov & eee.mov)?


A giudicare da /, il sistema operativo è Linux o Mac OS X?
Olli,

bene..Mac OS X :)
nuc

Risposte:


3

Un semplice script di shell raggiungerà ciò che vuoi ...

#!/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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.