ฉันกำลังพยายามคัดลอกไฟล์และโฟลเดอร์ทั้งหมดจากไดเรกทอรีหนึ่งไปยังอีกไดเรกทอรีหนึ่ง แต่ไม่รวมไฟล์บางไฟล์ โดยเฉพาะฉันต้องการยกเว้นไฟล์และโฟลเดอร์การโค่นล้ม อย่างไรก็ตามฉันต้องการคำตอบทั่วไปที่กระชับ
ฉันคิดว่าฉันจะพบว่าจำเป็นต้องยกเว้นไฟล์หลายประเภทในอนาคตอันใกล้ ตัวอย่างเช่นฉันอาจต้องการยกเว้น. svn, * .bak และ * .prj
นี่คือสิ่งที่ฉันรวบรวมไว้ด้วย แต่ก็ไม่ได้ผลสำหรับฉัน ส่วนแรกพบกับผลงาน แต่ฉันทำอะไรผิดพลาดกับxargsและซีพี ฉันพยายามCP-R
ที่มีและไม่มี นอกจากนี้ฉันใช้ OS X และดูเหมือนจะมีxargsรุ่นที่มีคุณลักษณะน้อยกว่าระบบ linux
find ./sourcedirectory -not \( -name .svn -a -prune \)
| xargs -IFILES cp -R FILES ./destinationdirectory
-R
ธงฉันค่อนข้างแน่ใจ ลบที่และคุณควรจะดี (แม้ว่าคุณอาจต้องการที่จะเพิ่ม-mindepth 1
เพื่อละเว้นโฟลเดอร์ไดเรกทอรีระดับบนสุดที่คุณไม่ต้องการคัดลอกผมถือว่า)
find
คำสั่งของคุณจะใช้อย่างถูกต้อง-prune
เพื่อแยกรายการ. svn จากนั้นคุณก็ผ่านการ-R
ตั้งค่าสถานะcp
ที่บอกให้คำสั่งนั้นเรียกซ้ำ เมื่อทำเช่นนั้นคุณจะสูญเสียสิ่งที่คุณมีในfind
คำสั่ง ฉันจะคนจรจัดกับสิ่งนี้เป็นเวลาหนึ่งนาที แต่ฉันคิดว่าคำตอบไม่ได้ใช้-R
ในcp
คำสั่ง