Câu trả lời:
Lệnh GNU find
là con đường để đi. Ví dụ: để xóa tất cả các tệp trong thư mục hiện tại trong khoảng từ 1 đến 5 tháng 8, bạn có thể sử dụng lệnh sau
find . -maxdepth 1 -type f -newermt 2011-08-01 ! -newermt 2011-08-06 -delete
-delete
Trước tiên, tốt hơn là thực thi lệnh mà không có hành động, để xem danh sách các tệp quan tâm (một sự thay thế tốt có thể -ls
tạo ra một danh sách giống như ls).
Loại bỏ -maxdepth 1
đặc tả cũng sẽ đi qua tất cả các thư mục con.
Bạn cũng có thể chỉ định giờ, ví dụ
find . -maxdepth 1 -type f -newermt '2011-08-01 10:01:59' \
! -newermt '2011-08-06 23:01:00' -delete
Được cảnh báo không xóa các dấu ngoặc đơn, bảo vệ khoảng trắng giữa ngày và thời gian.
Các ký tự !
là một phủ định, nó nên được đọc: mới hơn ngày này nhưng không mới hơn ngày này.
!
là không. Trong ví dụ này: Không mới hơn 2011-08-06.
-type f
.
-type f
, tôi quên điều đó. Đây -delete
là một phần mở rộng GNU, tôi nghĩ vậy.