Làm thế nào để loại bỏ một loạt các tập tin mà không có một hậu tố nhất định


0

Tôi đang dùng Linux, sử dụng Bash.

Tôi cần xóa tất cả các tệp mà không có hậu tố nhất định, ví dụ "dist". Tôi biết có một số thủ thuật để làm điều đó, thay vì loại bỏ tất cả các tệp không mong muốn từng cái một.

Câu trả lời:


4

Sử dụng thông tin sau để liệt kê tất cả các tệp sẽ bị xóa (chỉ để chắc chắn):

find /path/to/directory -mindepth 1 ! -name "*dist"

Thêm -type fnếu bạn chỉ muốn xóa các tệp thông thường, không phải các liên kết hoặc thư mục tượng trưng.


Chạy lệnh với -deleteđối số bổ sung ở cuối để loại bỏ chúng.


@slhck Cảm ơn, không biết tôi đang nghĩ gì (có lẽ không nhiều)
Daniel Beck

2

Nếu bạn đã bật tính năng mở rộng toàn cầu, bạn có thể thử:

rm !(*.dist)

Lưu ý: nếu bạn có các thư mục không có phần mở rộng .dist, điều này cũng sẽ thử và xóa chúng, nhưng sẽ thất bại.

Để bật sử dụng toàn cầu mở rộng: shopt -s extglob

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.