Sử dụng find -mmin để tìm tệp có thời gian sửa đổi trong tương lai


9

tôi có thể sử dụng

find . -mmin -5

để tìm các tập tin thay đổi trong 5 phút qua. Tuy nhiên, nếu tôi cố gắng tìm các tệp có thời gian sửa đổi trong tương lai bằng cách đưa ra số âm findtừ chối thực hiện:

find . -mmin --1

Có cách nào để đưa ra thời gian sửa đổi trong tương lai cho Linux tiêu chuẩn findkhông?

Câu trả lời:


9

Để tìm các tệp được sửa đổi ít nhất 5 ngày trong tương lai, hãy sử dụng:

find . -newermt "5 days"

Cú pháp cho đặc tả thời gian tương ứng với cú pháp cho date -d. Xem man findđể biết thông tin về công tắc có tên -newerXYđể biết thêm thông tin.

Không thể sử dụng ví dụ -mminđể làm điều này. Nó đã được báo cáo là một lỗi chống lại GNU find và đã được giải quyết bằng cách triển khai -newerXYtrong findutils 4.3.3 (~ 2007) như tôi đã trình bày ở trên.


Rõ ràng đó không phải là GNU tìm thấy đã được sử dụng, mà là BusyBox.

Sau đó, bạn có thể tạo một tệp tạm thời touch -dvà ngày trong tương lai và sau đó sử dụng công -newertắc cho, findchẳng hạn như:

touch -d "+5 days" tmpfile
find . -newer tmpfile

BusyBox touchkhông hỗ trợ định dạng ngày đó, nhưng nguyên tắc là giống nhau và findhỗ trợ của nó -newer. Tạo tập tin tham chiếu với một ngày chính xác được để lại như một bài tập cho người đọc (luôn luôn thuận tiện để viết).


Cảm ơn. Vấn đề của tôi là tìm thấy của tôi là BusyBox nhúng cũ tìm và không tìm thấy binutil. Rõ ràng cách linux tiêu chuẩn không hoạt động ở đây. :(
Muxecoid

@Muxecoid: Tôi đã cập nhật câu trả lời của mình với một số nhận xét về BusyBox.
Daniel Andersson

Điều này chỉ giúp tôi tránh được rắc rối trên một chiếc máy mới, nơi tôi đã làm một việc gì đó trong tương lai mười giờ một cách tình cờ (bù thời gian được áp dụng cho đồng hồ phần cứng đã được bù) và sau khi sửa đồng hồ, một đoạn configurescript phàn nàn về những điều trong tương lai (bởi một giờ rưỡi hoặc lâu hơn nữa): find . -newermt '1 hour' | xargs touch -d '-9 hours'và tôi có thể tiếp tục. :-)
Chris Morgan
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.