Tôi có một thư mục có nhiều tệp. Tôi cần xóa tất cả các tệp được tạo trước ngày 1 tháng 7. Làm thế nào để làm điều đó trong một kịch bản bash?Bash: xóa dựa trên tem ngày của tệp
Trả lời
Tôi nghĩ rằng sau nên làm những gì bạn muốn:
touch -t 201007010000 dummyfile
find /path/to/files -type f ! -newer dummyfile -delete
Dòng đầu tiên tạo ra một tập tin mà được sửa đổi lần trên ngày 01 tháng 7 năm 2010. ngoái Dòng thứ hai tìm thấy tất cả các file trong/path/to/file trong đó có một ngày không mới hơn dummyfile, và sau đó xóa chúng.
Nếu bạn muốn kiểm tra kỹ xem có hoạt động bình thường hay không, hãy bỏ đối số -delete
và chỉ nên liệt kê các tệp sẽ bị xóa.
này nên làm việc:
find /file/path ! -newermt "Jul 01"
Để tìm các tập tin bạn muốn xóa, vì vậy các lệnh để xóa chúng sẽ là:
find /file/path ! -newermt "Jul 01" -type f -print0 | xargs -0 rm
Eric, phiên bản tìm kiếm nào có "newerct". Tôi không thể tìm thấy được liệt kê trên bất kỳ trang người đàn ông nào. – bramp
@bramp: GNU 'find' có tùy chọn đó. Tuy nhiên, Unix/Linux không có khái niệm về ngày tạo, vì vậy tôi sẽ sử dụng '-newermt'. 'C' là thay đổi trạng thái của inode thay vì" tạo ". –
@Dennis: Cảm ơn bạn đã làm rõ. –
- 1. Xóa khỏi bảng dựa trên ngày
- 2. so sánh ngày của tệp bash
- 3. Kiểm tra ngày tệp có bash
- 4. ngày/giờ được sửa đổi có định dạng của tệp trên mac bash?
- 5. Cài đặt dựa trên tệp của Node.js
- 6. Chuyển đổi tem thời gian thành excel đến ngày
- 7. bash: cách xóa các phần tử khỏi mảng dựa trên mẫu
- 8. Bash: đệ quy xóa các tệp
- 9. shell script để tạo thư mục hàng ngày với thời gian tem và đẩy thời gian tem tạo ra các bản ghi
- 10. Cách tính tuổi dựa trên ngày sinh?
- 11. cột Xóa dựa trên giá trị của một hàng
- 12. Làm cách nào để tìm và xóa tệp dựa trên ngày trong tập lệnh shell linux mà không tìm thấy?
- 13. Chuyển đổi thời gian tem Integer vào ngày java
- 14. truy vấn trở lại dựa trên ngày
- 15. Sắp xếp tệp phân cách tab dựa trên lệnh sắp xếp cột bash
- 16. Cách nhận ngày/giờ tạo tệp trong Bash/Debian?
- 17. Cách phân tích tem thời gian EXIF với tập lệnh Bash
- 18. Định dạng ngày dựa trên miền địa phương của người dùng trên android
- 19. Vòng đời của singum dựa trên enum trên Android
- 20. Làm thế nào để xóa các tập tin từ thư mục dựa trên ngày tạo trong php?
- 21. Mục nhập tệp nhật ký lọc dựa trên phạm vi ngày
- 22. Tách mảng đối tượng thành mảng mới dựa trên năm của ngày của đối tượng
- 23. Trước ngày Thứ Hai & Trước ngày chủ nhật dựa trên ngày nay hẹn hò với
- 24. NSDate: Thêm một ngày dựa trên Thời gian
- 25. Lọc danh sách lớn dựa trên thời gian ngày
- 26. TSQL chọn riêng biệt dựa trên ngày cao nhất
- 27. Cách định dạng ngày dựa trên ngôn ngữ?
- 28. lọc một Dataframe gấu trúc dựa trên ngày giá trị
- 29. Thuật toán để phân cụm ảnh dựa trên ngày chụp
- 30. Phân chia các Mảng Ngày dựa trên Tháng hoặc Năm
Sau khi thả '-' trước 'f ', nó bây giờ dường như liệt kê tất cả các tập tin. Nếu tôi thả '!' nó chỉ liệt kê các tệp mới hơn. –
Tôi không biết xấu hổ đã đánh cắp/thay đổi câu trả lời từ http://forums.devshed.com/unix-help-35/finding-a-file-modified-created-before-a-specific-date-468700.html – bramp
oh vâng xin lỗi , không nên có -f, chỉ f. – bramp