Thật khó để giải thích trong tiêu đề.Tập lệnh Bash để xóa tất cả trừ N tệp khi được sắp xếp theo thứ tự abc
Tôi có tập lệnh bash chạy hàng ngày để sao lưu một thư mục vào tệp zip. Các tệp zip được đặt tên là thế giớiYYYYMMDD
.zip với YYYYMMDD
là ngày sao lưu. Những gì tôi muốn làm là xóa tất cả trừ 5 bản sao lưu gần đây nhất. Sắp xếp các tệp theo thứ tự bảng chữ cái sẽ liệt kê các tệp cũ nhất trước tiên, vì vậy về cơ bản tôi cần xóa tất cả trừ 5 tệp cuối cùng khi được sắp xếp theo thứ tự bảng chữ cái.
Điều này có nghĩa là phải được thực hiện thủ công bất cứ khi nào bạn cảm thấy bạn có quá nhiều bản sao lưu hoặc mỗi lần tập lệnh bash được chạy? – cledoux
@ chaz8705 Tôi sẽ sử dụng nó theo cả hai cách – sgtFloyd
Lưu ý rằng hầu hết các câu trả lời sẽ không thành công với tên tệp có chứa dấu cách. –