Tôi muốn tìm tệp mới hơn 15 giây nhưng cũ hơn 2 giây. Đây là tập lệnh tôi hiện đang sử dụng để lấy các tệp mới hơn 15 giây:
find /my/directory -name '*.jpg' -not -newermt '-15 seconds'
Bất kỳ trợ giúp nào cũng được đánh giá rất cao
Tôi muốn tìm tệp mới hơn 15 giây nhưng cũ hơn 2 giây. Đây là tập lệnh tôi hiện đang sử dụng để lấy các tệp mới hơn 15 giây:
find /my/directory -name '*.jpg' -not -newermt '-15 seconds'
Bất kỳ trợ giúp nào cũng được đánh giá rất cao
Câu trả lời:
Bạn có thể kết hợp nhiều vị ngữ bằng cách xâu chuỗi chúng.
Không có -oldermt
, nhưng bạn có thể viết như là -not -newermt
.
Bạn muốn:
-newermt '-15 seconds'
để nói rằng tệp chưa đầy 15 giây và -not -newermt '-2 seconds'
để nói rằng tập tin đã hơn 2 giâyThử:
find /my/directory -newermt '-15 seconds' -not -newermt '-2 seconds'
Hoặc, để tuân thủ POSIX:
find /my/directory -newermt '-15 seconds' \! -newermt '-2 seconds'
Ngoài ra, chỉ để bạn (và những người đọc khác) biết, "mới hơn" có nghĩa là được sửa đổi gần đây hơn, không được tạo gần đây hơn.
-not -newermt '-2 seconds'
cũng sẽ khớp các tệp chính xác 2 giây cũ. Sử dụng -not -newermt '3 seconds'
để loại trừ những người là tốt.
touch -d "2 seconds ago" file; find . -newermt '-15 seconds' -not -newermt '-2 seconds'
và có file
.
Bạn đã không đề cập đến hệ điều hành của bạn ....
Điều này hoạt động tốt với một triển khai tìm kiếm hiện đại như một triển khai từ FreeBSD hoặc với sfind
.
find /my/directory -name '*.jpg' -mtime -15s -mtime +2s
Sfind là một phần của công cụ Schily: http://sourceforge.net/projects/schilytools/files/
CẢNH BÁO: Tôi vừa phát hiện ra một vấn đề trong sfind
. Nếu các -mtime
đối số nhỏ hơn 60 giây, nó sẽ không hoạt động chính xác vì thời gian tệp hiện được so sánh với dấu thời gian 60 giây trong tương lai ban đầu được tính cho chuyển đổi năm -ls
.
BTW: -not
không thuộc về find
, nó là một GNUism không di động.
bash
thẻ Thẻ Vì vậy, môi trường có thể là Cygwin, Debian GNU / Hurd, bash
chạy trên FreeBSD hoặc Solaris,
find
, có vẻ như số thập phân, mặc dù điên, có thể được sử dụng như một cách giải quyết.
!
-không như! expression
. Vì vậy, không có vấn đề lớn.
primary
từ find
để thông báo cho mọi người rằng không cần phải luôn luôn thêm mới primaries
để tìm thấy để có thể tăng cường chức năng. BTW: Một bản sửa lỗi libfind
đã được xuất bản trong schily tools
.
gfind
đã thêm -not
bí danh nào cả. Nó không bao giờ cần thiết và sự hiện diện của nó có thể được coi là một khóa nhà cung cấp trong chiến lược.
find
thực hiện.