¿Cómo puedo usar find
para seleccionar archivos que se han escrito y no modificado en el último minuto?
Sé que puedo hacerlo al revés, encontrar archivos modificados en los últimos 60 segundos -mtime -60s
, pero quiero los que no se han modificado en los últimos 60 segundos.
Uso Linux y obtengo este error si uso segundos:
find ??/ -mtime +60s -name blah.tsv
find: invalid argument `+60s' to `-mtime'
+60
no es lo contrario de-60
, por la misma razón menor que no es lo contrario de mayor que : Ambos excluyen el valor exacto con el que se comparan. Pero su pregunta no indica qué comportamiento desea exactamente.Ejemplo
fuente
osx
.El segundo
-
en-mtime -60s
es no un delimitador opción.-mtime
es una opción, seguida de un argumento de opción . El argumento de la opción es-60s
, y el contenido-
es parte del argumento de la opción en sí, no un delimitador de la opción. Significa "menos de 60 segundos". Opción argumentos60s
y+60s
significa "igual a 60 segundos" y "mayor de 60 segundos", respectivamente.El manual de Apple MacOS y el manual de FreeBSD mencionan los prefijos
+
y-
en exactamente un lugar, y se olvidan de explicar en cualquier lugar cuáles son. Esto es lo que son.(El manual de información de GNU para GNU
find
tiene la misma omisión, curiosamente. Sin embargo,find
la sintaxis de GNU por momentos es algo diferente a lafind
sintaxis de BSD y MacOS ).Otras lecturas
find
Página del manual de MacOS 10 . MacOS 10 Developer Library.find
(1) . 2010-03-17. Manual de comandos generales de FreeBSD. Proyecto FreeBSD.fuente
atime
formato de hora, pero eso tampoco explica los prefijos . Es una sección separada a la que no se hace referencia.Deberías poder usar
fuente
find . !( -mtime -60s )
En los sistemas Unix, -mtime solía ir seguido de un +/- seguido de un número seguido de unidades de tiempo. [+ -] nn [dms]
Linux usa mtime por días, mmin por minutos, pero no parece haber una opción de segundos y no usa un especificador de unidades de tiempo. El + o - todavía se refiere a mayor o menor que el tiempo en lugar de ser un argumento de opción como se mencionó anteriormente.
Puede usar -mmin 1, pero /unix/238738/find-files-newer-than-15-seconds-but-older-than-2-seconds explica cómo manejar los segundos en general .
fuente