Couple các vấn đề
- Bạn không hạn chế nó đến các tập tin, vì vậy khi nó tìm thấy một thư mục phù hợp với nó sẽ liệt kê tất cả các tập tin bên trong nó.
- Bạn không thể sử dụng
>
trong -exec
mà không cần một cái gì đó như bash -c '... > ...'
. Mặc dù >
sẽ ghi đè lên tệp, do đó, bạn muốn chuyển hướng toàn bộ find
dù sao thay vì mỗi -exec
.
+30
là older
hơn 30 ngày, -30
sẽ được sửa đổi trong 30 ngày qua.
-exec
thực sự không cần thiết, bạn có thể liệt kê mọi thứ với các tùy chọn -printf
khác nhau, nhưng không biết bạn muốn gì.
Something như dưới đây nên làm việc
find -type f -mtime -30 -exec ls -l {} \; > last30days.txt
Ví dụ với -printf
find -type f -mtime -30 -printf "%M %u %g %TR %TD %p\n" > last30days.txt
Mà sẽ liệt kê các file ở định dạng "quyền nhóm chủ sở hữu ngày thời gian filename". -printf
thường thích hợp hơn với -exec
trong trường hợp bạn không phải làm bất cứ điều gì phức tạp, vì nó sẽ chạy nhanh hơn do không phải thực hiện các vỏ con cho mỗi -exec
. Tùy thuộc vào phiên bản tìm kiếm, bạn cũng có thể sử dụng -ls
, có định dạng tương tự ở trên.
Tôi chỉ muốn tạo một tệp, hy vọng, tôi có thể xem xét trong vim hoặc trong Excel và xem có bất kỳ tệp được sửa đổi gần đây nào không bình thường hay không. Chúng tôi thường chỉ sửa đổi một số tệp nhất định. Nếu có các tệp bổ sung, điều đó có thể cho chúng tôi biết nguồn của mã độc hại. Tôi đã sao chép phiên bản 'exec' từ đâu đó trên internet. Bạn có thể thêm một ví dụ 'printf' và giải thích tại sao nó tốt hơn không? Tôi cho rằng nó có nhiều tùy chọn định dạng hơn, phải không? –
@ButtleButkus Đã thêm ví dụ '-printf'. – BroSlow
Cảm ơn, điều đó đã hoạt động khá tốt! –