คัดลอกไฟล์และไดเรกทอรีที่ไม่มีเนื้อหาไฟล์


18

มีวิธีคัดลอกโครงสร้างไดเรกทอรีด้วยไฟล์ แต่ไม่มีเนื้อหาหรือไม่ ฉันหมายความว่าฉันต้องการไดเรกทอรีเดียวกันกับชื่อไฟล์ แต่ปล่อยให้ว่าง / เปล่า ฉันมีตัวอย่างแอพพลิเคชั่นในภาษาการเขียนโปรแกรมบางอย่างและฉันต้องการเขียนใหม่ด้วยสไตล์ของตัวเอง แต่ยังคงรักษาวิธีการที่พวกเขาจัดระเบียบในไฟล์

ฉันจะขอบคุณสำหรับความช่วยเหลือใด ๆ

คำตอบ:


36

จาก man cp

- คุณสมบัติ - อย่างเดียวไม่ได้คัดลอกข้อมูลไฟล์เพียงคุณสมบัติ

ดังนั้นหากคุณต้องการคัดลอกโฟลเดอร์และไฟล์ทั้งหมดที่อยู่ใน somedirectory

ทำ cp -R --attributes-only somedirectory destinationdirectory


นี่คือสิ่งที่ฉันต้องการ ขอบคุณมาก.
dagi12

4
+1 เพราะฉันไม่คิดว่าจะมีใครนำสิ่งนี้ไปใช้แล้ว - ประหลาดใจจริงๆ
mgarciaisaia

@garciaisaia ฉันรู้สึกประหลาดใจอย่างที่คุณเป็นเมื่อฉันตรวจสอบหน้าคนเช้านี้ =)
Sergiy Kolodyazhnyy

10

ดีที่อูบุนตูcpมีคุณสมบัตินี้ แต่ถ้าคุณควรจะพบว่าตัวเองอยู่ในเครื่องที่ไม่ได้เป็น (BSD สไตล์cpไม่เช่นดังนั้น OS X ไม่ได้อย่างใดอย่างหนึ่ง) findก็ง่ายมากที่จะทำอย่างไรกับ นี่มันเป็นสองซับ (สำหรับการอ่าน):

% cd original_dir
% find . -type d -exec mkdir -p ../copy_dir/{} \;
% find . -type f -exec touch ../copy_dir/{} \;

หากcopy_dirมีอยู่แล้วคุณสามารถข้าม-pข้อโต้แย้งไปได้mkdirเนื่องจากfindจะข้ามแผนผังไดเรกทอรีจากบนลงล่าง สำหรับงานที่มีขนาดใหญ่คุณสามารถลบมิลลิวินาทีอื่นออกได้โดยการยกเลิกคำสั่งด้วย+แทนที่จะเป็น\;ถ้าคุณfindรองรับมัน (อาจเป็นไปได้)

แก้ไข:คำสั่งด้านบนถูกละเลยเพื่อจัดการลิงก์สัญลักษณ์ซึ่งสามารถคัดลอกได้ด้วยการรันครั้งที่สามของfind( อย่ายกเลิกอันนี้ด้วย+)

% find . -type l -exec cp -R {} ../copy_dir/{} \;
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.