Bagaimana saya dapat menggunakan find
untuk memilih file yang telah ditulis dan tidak dimodifikasi pada menit terakhir?
Saya tahu saya bisa melakukannya sebaliknya, menemukan file yang dimodifikasi dalam 60 detik terakhir -mtime -60s
, tapi saya ingin yang belum dimodifikasi dalam 60 detik terakhir.
Saya menggunakan Linux dan mendapatkan kesalahan ini jika saya menggunakan detik:
find ??/ -mtime +60s -name blah.tsv
find: invalid argument `+60s' to `-mtime'
+60
bukan kebalikan dari-60
, karena alasan yang sama kurang dari bukan kebalikan dari lebih besar dari : Keduanya mengecualikan nilai persis yang mereka bandingkan. Tetapi pertanyaan Anda tidak menunjukkan perilaku yang Anda inginkan, tepatnya.Contoh
sumber
osx
.Yang kedua
-
di-mtime -60s
ini tidak merupakan pembatas pilihan.-mtime
adalah opsi, dan diikuti oleh argumen opsi . Argumen opsi adalah-60s
, dan-
di dalamnya adalah bagian dari argumen opsi itu sendiri, bukan pembatas opsi. Itu berarti "kurang dari 60 detik". Argumen opsi60s
dan+60s
rata - rata "sama dengan 60 detik" dan "lebih besar dari 60 detik".Manual Apple MacOS dan manual FreeBSD menyebutkan
+
dan-
awalan di satu tempat, dan lupa untuk menjelaskan di mana saja mereka. Inilah mereka.(Manual Info GNU untuk GNU
find
memiliki kelalaian yang sama, cukup menarik. Namun,find
sintaksis GNU untuk waktu agak berbeda denganfind
sintaks BSD dan MacOS .)Bacaan lebih lanjut
find
Halaman manual MacOS 10 . Perpustakaan Pengembang MacOS 10.find
(1) . 2010-03-17. Manual Perintah Umum FreeBSD. Proyek FreeBSD.sumber
atime
format waktu, tetapi itu juga tidak menjelaskan awalan . Ini bagian terpisah yang tidak dirujuk.Anda harus bisa menggunakannya
sumber
find . !( -mtime -60s )
Dalam sistem Unix - waktu digunakan untuk diikuti oleh +/- diikuti oleh angka diikuti oleh satuan waktu. [+ -] nn [dms]
Linux menggunakan mtime selama berhari-hari, mmin selama beberapa menit, tetapi sepertinya tidak ada opsi detik dan tidak menggunakan penentu satuan waktu. Tanda + atau - masih mengacu pada lebih dari atau kurang dari waktu daripada menjadi argumen opsi seperti yang disebutkan di atas.
Anda dapat menggunakan -mmin 1, tetapi /unix/238738/find-files-newer-than-15-seconds-but-older-than-2-seconds membahas cara menangani detik secara umum .
sumber