Quiero encontrar archivos más nuevos que 15 segundos pero más viejos que 2 segundos. Aquí está el script que estoy usando actualmente que toma archivos de más de 15 segundos:
find /my/directory -name '*.jpg' -not -newermt '-15 seconds'
Cualquier ayuda es muy apreciada
find
implementaciones.Respuestas:
Puede combinar múltiples predicados encadenándolos.
No hay
-oldermt
, pero puedes escribir eso como-not -newermt
.Usted quiere:
-newermt '-15 seconds'
decir que el archivo tiene menos de 15 segundos de antigüedad y-not -newermt '-2 seconds'
decir que el archivo tiene más de 2 segundos de antigüedadTratar:
O, para cumplir con POSIX:
Además, para que usted (y otros lectores) sean conscientes, "más reciente" significa modificado más recientemente que, no creado más recientemente que.
fuente
-not -newermt '-2 seconds'
también coincidirá con archivos de exactamente 2 segundos de antigüedad. Úselo-not -newermt '3 seconds'
para excluirlos también.touch -d "2 seconds ago" file; find . -newermt '-15 seconds' -not -newermt '-2 seconds'
y tengofile
.No mencionaste tu sistema operativo ...
Esto funciona bien con una implementación de búsqueda moderna como la de FreeBSD o con
sfind
.find /my/directory -name '*.jpg' -mtime -15s -mtime +2s
Sfind es parte de las herramientas de Schily: http://sourceforge.net/projects/schilytools/files/
ADVERTENCIA: acabo de descubrir un problema en
sfind
. Si los-mtime
argumentos son inferiores a 60 segundos, no funcionará correctamente ya que los tiempos de archivo se comparan actualmente con una marca de tiempo de 60 segundos en el futuro que se calculó originalmente para el cambio de año-ls
.Por cierto:
-not
no pertenecefind
, es un GNUism no portátil.fuente
bash
etiqueta ... Entonces, el entorno podría ser Cygwin, Debian GNU / Hurd,bash
ejecutándose en FreeBSD o Solaris, ... ;-)find
, parece que los decimales, aunque locos, pueden usarse como una solución alternativa.!
para -no como! expression
. Entonces, no es gran cosa.primary
defind
informar a la gente que no hay necesidad de añadir siempre nuevaprimaries
para encontrar a ser capaz de mejorar la funcionalidad. Por cierto: un fijolibfind
ha sido publicado en elschily tools
.gfind
sí agregó el-not
alias. Nunca fue necesario y su presencia puede verse como un bloqueo de proveedor en la estrategia.