2012-01-24 9 views
28

xem tôi đang làm việc trong một mã nguồn dự án BIG Bây giờ tôi muốn biết tệp nào được sửa đổi sau một số ngày.Có cách nào để tìm ra tệp đã thay đổi sau một số ngày trong toàn bộ mã dự án không?

Có bất kỳ lệnh hoặc cách nào để có được điều đó ..

tôi đã cố gắng

# ls -R -l 

nhưng ở đây nó cho thấy tất cả các tập tin với dữ liệu biến đổi cuối cùng nhưng tôi muốn lọc đầu ra này bằng một số dữ liệu ...

vì vậy có cách nào để thực hiện việc này trong linux không? là có bất kỳ công cụ có sẵn cho điều này?

+1

Công cụ scm là gì? Hầu như tất cả các công cụ điều khiển phiên bản đều có các cơ chế truy vấn tốt – Jayan

+0

tìm các tùy chọn khác nhau để cung cấp danh sách dựa trên ngày truy cập – Jayan

Trả lời

59
#set timestamp for file  
touch --date "2011-12-31" /tmp/foo 
# Find files newer than 2011/Dec/31, in /some/files 
find /some/files -newer /tmp/foo 
+7

Sau một thời gian cụ thể: touch -d '2011-12-31 10:22'/tmp/foo –

22

Sử dụng tìm lệnh với mtime đối số: Some examples are here hoặc here

Ví dụ, các file danh sách thay đổi trong 7 ngày qua ...

find/-type f -mtime -7 

Đối tốt hạt tìm kiếm bạn có thể thử tham số -mmin. Xem ví dụ được thảo luận trong một trang web SE khác: Find All files older than x minutes

+1

Sự cố với mtime là nó quá thô. Nếu bạn có các tệp đã được sửa đổi 6 giờ trước và 8 giờ trước, bạn không thể phân biệt chúng với tìm kiếm. Bạn sẽ cần sử dụng [cách giải quyết của peko] (http://stackoverflow.com/a/8986162/111424). –

+0

Lệnh này cung cấp các tệp được sửa đổi 7 * 24 giờ trước chứ không phải các tệp đã thay đổi trong 7 ngày qua. –

+0

Có cách nào để bỏ qua các thư mục con nhất định với (các) từ khóa speficic ở lại "bộ nhớ cache" và "nhật ký" không? ví dụ. '' 'find/-type f -mtime -7 -skip" cache, log "?' '' cảm ơn. – Ahdee