Encuentra todos los archivos de más de un minuto

Encuentra todos los archivos de más de un minuto

¿Cómo puedo utilizar findpara seleccionar archivos que han sido escritos y no modificados en el último minuto?

Sé que puedo hacerlo al revés, buscar archivos modificados en los últimos 60 segundos con -mtime -60s, pero quiero los que no se han modificado en los últimos 60 segundos.

Uso Linux y aparece este error si uso segundos:

find ??/ -mtime +60s -name blah.tsv
find: invalid argument `+60s' to `-mtime'

Respuesta1

Usarfind /path -type f -mtime +60s

El -justo antes de los dígitos no es un "guión de argumento" normal, sino que significa "menos que". +entonces es "más que".

De man find:

Todos los primarios que toman un argumento numérico permiten que el número esté precedido por un signo más (``+'') o un signo menos (``-''). Un signo más precedente significa "más que n", un signo menos precedente significa "menos que n" y ninguno significa "exactamente n".

Cabe señalar que paraexactamente norte, el tiempo se redondea. Entonces 1(1 día) no significa 86400 segundos.

Respuesta2

find . -type f -mmin +1

Ejemplo

$ ls *
four.txt  one.txt  three.txt  two.txt

$ touch foo && find . -mmin +1
.
./three.txt
./four.txt
./two.txt
./one.txt

Respuesta3

El segundo -en -mtime -60sesnoun delimitador de opciones.

-mtimees una opción, y va seguida de unaargumento de opción. El argumento de opción es -60s, y -en él es parte del argumento de opción en sí,noun delimitador de opciones. Significa "menos de 60 segundos". Argumentos de opción 60sy +60ssignifican "igual a 60 segundos" y "mayor a 60 segundos", respectivamente.

El manual de Apple MacOS y el manual de FreeBSD mencionan los prefijos +y -exactamente en un lugar, y se olvidan de explicar en cualquier lugar qué son. Esto es lo que son.

find( Curiosamente, el manual GNU Info para GNU tiene la misma omisión. Sin embargo, findla sintaxis de GNU para times es algo diferente a la findsintaxis de BSD y MacOS).

Otras lecturas

Respuesta4

En los sistemas Unix, -mtime solía ir seguido de +/- seguido de un número seguido de unidades de tiempo. [+-]nn[dms]

Linux usa mtime para días, mmin para 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.

Podrías usar -mmin 1, perohttps://unix.stackexchange.com/questions/238738/find-files-newer-than-15-segundos-pero-antiguos-que-2-segundosanaliza cómo manejar segundos en general.

información relacionada