มีวิธีใดบ้างในการซิงค์ไฟล์จากสองไดเรกทอรีหลักเมื่อโครงสร้างด้านในแตกต่างกัน


2

ช่วยบอกว่าเรามีสองไดเรกทอรี:

ไดเรกทอรี A:

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

ไดเรกทอรี B:

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

ฉันจะถ่ายโอนจาก A ถึง B / newDir ได้อย่างไรไฟล์ทั้งหมดที่ไม่มีอยู่ในไดเรกทอรีย่อยของ B (ddd.mov & eee.mov)


ตัดสินจาก/ระบบปฏิบัติการคือ Linux หรือ Mac OS X
Olli

well..Mac OS X :)
nuc

คำตอบ:


3

สคริปต์เชลล์แบบง่ายจะบรรลุสิ่งที่คุณต้องการ ...

#!/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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.