ฉันหวังว่า:
cp -R src/prog.js images/icon.jpg /tmp/package
จะให้โครงสร้างสมมาตรใน dir ปลายทาง:
/tmp
|
+-- package
|
+-- src
| |
| +-- prog.js
|
+-- images
|
+-- icon.jpg
แต่ทั้งสองไฟล์จะถูกคัดลอกไปยัง / tmp / package แทน สำเนาแบน (นี่คือบน OSX)
มีฟังก์ชั่นทุบตีง่ายๆที่ฉันสามารถใช้เพื่อคัดลอกไฟล์ทั้งหมดรวมถึงไฟล์ที่ระบุโดยสัญลักษณ์แทน (เช่น src / *. js) ลงในตำแหน่งที่ถูกต้องภายในไดเร็กทอรีปลายทาง คล้ายกับ "สำหรับแต่ละไฟล์ให้เรียกใช้mkdir -p $(dirname "$file"); cp "$file" $(dirname "$file")
" แต่อาจเป็นคำสั่งเดียว
นี่เป็นชุดข้อความที่เกี่ยวข้องซึ่งแสดงว่าเป็นไปไม่ได้ วิธีแก้ปัญหาของผู้เขียนไม่มีประโยชน์สำหรับฉันเพราะฉันต้องการเพียงแค่ให้รายการไฟล์สัญลักษณ์แทนหรือไม่และคัดลอกทั้งหมดไปยัง dir ปลายทาง IIRC MS-DOS xcopy ทำสิ่งนี้ แต่ดูเหมือนจะไม่เทียบเท่ากับ cp