Tôi muốn xóa tất cả các tệp tồn tại trong thư mục new-files
từ một thư mục khác trong linux bằng lệnh bash.linux bash - xóa tất cả các tệp nằm trong một thư mục từ một thư mục khác
tôi cần điều này vì hai điều:
- Tôi có một số kịch bản cài đặt mà sao chép một số tập tin cấu hình được cấu hình sẵn qua. Tôi muốn có tùy chọn để loại bỏ các tập tin một lần nữa
- Đôi khi nó xảy ra rằng tài liệu lưu trữ được giải nén vào thư mục gốc của thư mục tải về của bạn và không phải vào một subdir vì người đóng gói file đặt mọi thứ vào tài liệu lưu trữ gốc
Cách tốt nhất để làm điều đó là gì?
Chỉnh sửa, để làm rõ:
- tôi nhận được một thư mục với các tập tin gọi là
new-files
. - Bây giờ tôi thực hiện
cp -r new-files/* other-directory/
. - Cho phép nói thư mục khác không phải là thư mục tôi muốn sao chép chúng nhưng nó đã chứa các tệp khác nên tôi không thể chỉ làm rm thư mục khác/*.
- Tôi cần xóa tất cả các thư mục mà tôi đã vô tình sao chép. Làm thế nào để làm điều đó?
Đẹp nhất! Tôi khuyên bạn nên sử dụng '-exec' với dấu '+' không ';'. Điều này hiệu quả hơn khi 'rm' được gọi là ít hơn nhiều lần (tương tự như' xargs'). – TrueY
@TrueY Bạn không thể làm điều đó. 'find' đưa ra một lỗi nếu bạn sử dụng' + 'trong khi' {} 'được bắt đầu bởi một ký tự không dấu cách. – aymericbeaumet
Bạn muốn đạt được điều gì với regex đó? Nó có vẻ như tiêu diệt lệnh của tôi khi nó lọc ra 'conf.d' directorys và như vậy? – Zulakis