ฉันต้องการคัดลอกชุดไฟล์จากไดเรกทอรี A ไปยังไดเรกทอรี B โดยมีข้อแม้ว่าหากไฟล์ในไดเรกทอรี A เหมือนกับไฟล์ในไดเรกทอรี B ไฟล์นั้นไม่ควรคัดลอก (และเวลาในการปรับเปลี่ยนไม่ควรเป็น ปรับปรุง) มีวิธีที่จะทำเช่นนั้นกับเครื่องมือที่มีอยู่โดยไม่ต้องเขียนสคริปต์ของตัวเองเพื่อทำมันได้หรือไม่
หากต้องการอธิบายรายละเอียดเล็กน้อยเกี่ยวกับกรณีการใช้งานของฉัน: ฉันกำลังสร้าง.c
ไฟล์จำนวนมากในไดเรกทอรีชั่วคราว (โดยวิธีการที่จะสร้างไฟล์ทั้งหมดโดยไม่มีเงื่อนไข) และเมื่อฉันสร้างไฟล์ขึ้นมาใหม่ฉันต้องการคัดลอกเท่านั้น รายการที่เปลี่ยนไปเป็นไดเรกทอรีต้นทางจริงปล่อยให้รายการที่ไม่มีการเปลี่ยนแปลง (ด้วยเวลาการสร้างเก่า) เพื่อที่make
จะรู้ว่าไม่จำเป็นต้องคอมไพล์ใหม่ (ไม่ใช่ไฟล์ที่สร้างขึ้นทั้งหมดเป็น.c
ไฟล์ดังนั้นฉันต้องทำการเปรียบเทียบแบบไบนารีมากกว่าการเปรียบเทียบข้อความ)
(ตามที่ทราบ: นี่เป็นคำถามที่เกิดขึ้นฉันถามบนhttps://stackoverflow.com/questions/8981552/speeding-up-file-comparions-with-cmp-on-cygwin/8981552/speeding-up-file-comparions-with-cmp-on-cygwin/8981762#8981762ซึ่งฉันพยายามอยู่ เพื่อเพิ่มความเร็วให้กับไฟล์สคริปต์ที่ฉันใช้ในการดำเนินการนี้ แต่มันเกิดขึ้นกับฉันว่าฉันควรถามว่ามีวิธีที่ดีกว่าในการทำสิ่งนี้มากกว่าการเขียนสคริปต์ของตัวเองโดยเฉพาะอย่างยิ่งตั้งแต่วิธีง่ายๆในการทำเชลล์ สคริปต์จะเรียกใช้บางอย่างเช่นcmp
ไฟล์ทุกคู่และการเริ่มต้นกระบวนการทั้งหมดใช้เวลานานเกินไป)
rsync -avnc
rsync --archive --verbose --dry-run --checksum
diff -qr dirA dirB
เพื่อดูว่าไฟล์ใดที่ไม่ซ้ำกันdirA
และdirB
repectively