ใช้ Ubuntu 12.04 ฉันต้องการเปรียบเทียบ 2 ไดเรกทอรีพูด folder1 / และ folder2 / และคัดลอกไฟล์ใด ๆ ที่แตกต่างกับ folder3 / นอกจากนี้ยังมีไฟล์ซ้อนกันดังนั้นควรคัดลอกไดเรกทอรีย่อยที่ตรงกันเช่นกัน
มีคำสั่งเดียวที่จะช่วยฉันได้ไหม ฉันสามารถเรียกใช้รายการไฟล์ที่เปลี่ยนแปลงทั้งหมดได้:
rsync -rcnC --out-format="%f" folder1/ folder2/
แต่ rsync ดูเหมือนจะไม่มีความสามารถในการ "ส่งออก" ไฟล์เหล่านี้ในไดเรกทอรีเป้าหมายที่แตกต่างกัน ฉันสามารถไพพ์รายการไปยัง cp หรือโปรแกรมอื่น ๆ เพื่อให้คัดลอกไฟล์ในขณะที่สร้างไดเรกทอรีได้หรือไม่? ตัวอย่างเช่นฉันพยายาม
rsync -rcnC --out-format="%f" folder1/ folder2/ | xargs cp -t folder3/
แต่นั่นจะไม่เก็บไดเรกทอรีไว้เช่นกันมันก็แค่คัดลอกไฟล์ทั้งหมดใน folder3 /
rsync --include-from=FILE
ตัวเลือก
diff -qr
และawk
เพื่อสร้างรายการจากนั้นrsync
...