Sao chép tập tin và thư mục không có nội dung tập tin


18

Có cách nào để sao chép cấu trúc thư mục với các tệp nhưng không có nội dung của chúng. Tôi có nghĩa là tôi muốn chính xác cùng một thư mục với tên tệp nhưng để trống / trống. Tôi có một vài ứng dụng ví dụ trong một số ngôn ngữ lập trình và tôi muốn viết lại chúng theo phong cách của riêng tôi nhưng vẫn giữ cách chúng được tổ chức trong các tệp.

Tôi thật sự rất biết ơn những người đã giúp đỡ tôi.

Câu trả lời:


36

Từ man cp

--attribut-only không sao chép dữ liệu tệp, chỉ các thuộc tính

Vì vậy, nếu bạn muốn sao chép tất cả các thư mục và tệp trong somedirectory

làm cp -R --attributes-only somedirectory destinationdirectory


Đây chính xác là những gì tôi cần. Cảm ơn rât nhiều.
dagi12

4
+1 vì tôi không nghĩ ai đó đã thực hiện điều này - thực sự ngạc nhiên.
mgarciaisaia

@mgarciaisaia Tôi chỉ ngạc nhiên như bạn, khi tôi kiểm tra trang người đàn ông sáng nay =)
Sergiy Kolodyazhnyy

10

Rất vui vì Ubuntu cpcó tính năng này, nhưng nếu bạn thấy mình trên một máy không ( cpví dụ kiểu BSD thì không, vì vậy OS X cũng không), điều đó rất dễ thực hiện find. Ở đây nó là một lớp lót (cho khả năng đọc):

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

Nếu copy_dirđã tồn tại, bạn có thể bỏ qua -pđối số mkdirfindsẽ đi qua cây thư mục từ trên xuống. Đối với các công việc lớn, bạn có thể tắt một mili giây khác bằng cách chấm dứt các lệnh +thay vì \;nếu bạn findhỗ trợ nó (có thể là như vậy).

Chỉnh sửa: Các lệnh trên bị bỏ qua để xử lý các liên kết tượng trưng, ​​có thể được sao chép với lần chạy thứ ba find( không chấm dứt lệnh này với +):

% find . -type l -exec cp -R {} ../copy_dir/{} \;
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.