¿Cómo especifico un rango de fechas para el comando de búsqueda en OSX?

¿Cómo especifico un rango de fechas para el comando de búsqueda en OSX?

Necesito encontrar archivos dentro de un rango de fechas al minuto. Supongo que saber cómo hacerlo hasta el segundo podría resultar beneficioso algún día. De todos modos. Aprendí a usar -newermt e incluso -not -newermt; sin embargo, parece que no puedo obtener resultados correctos cuando los combino. Encontré ejemplos de Linux sobre el uso de buscar, pero no creo que los conmutadores funcionen en OSX. Consulte la siguiente lista de archivos:

#$ ls -l
total 32
-rw-r--r--  1 testuser  staff  1024 Oct 26 20:12 test1.swc
-rw-r--r--  1 testuser  staff     0 Oct 26 19:00 test1_old.swc
-rw-r--r--  1 testuser  staff  1024 Oct 26 20:12 test2.swc
-rw-r--r--  1 testuser  staff     0 Oct 26 19:00 test2_old.swc
-rw-r--r--  1 testuser  staff  1024 Oct 26 20:12 test3.swc
-rw-r--r--  1 testuser  staff     0 Oct 26 19:00 test3_old.swc
-rw-r--r--  1 testuser  staff  1024 Oct 26 20:12 test4.swc
-rw-r--r--  1 testuser  staff     0 Oct 26 19:00 test4_old.swc
-rw-r--r--  1 testuser  staff     0 Oct 26 20:11 test5.swc
-rw-r--r--  1 testuser  staff     0 Oct 26 20:13 test6.swc
-rw-r--r--  1 testuser  staff     0 Oct 26 19:00 timestamp.tmp

Esperaría que el siguiente comando devuelva test1.swc a través de test4.swc; sin embargo, observe que devolvió test6.swc:

#$ find . -newermt '2010-10-26 20:11' -a -not -newermt '2010-10-26 20:13'
./test1.swc
./test2.swc
./test3.swc
./test4.swc
./test6.swc

Pensé que el minuto para la condición -not estaba desactivado, así que intenté lo siguiente, pero no devolvió nada:

#$ find . -newermt '2010-10-26 20:11' -a -not -newermt '2010-10-26 20:12'
#$ 

He llegado a la conclusión de que no estoy combinando correctamente los modificadores -newermt y -not -newermt. ¿Algún consejo sobre cómo corregir esto?

Respuesta1

Su sintaxis parece correcta. ¿Cómo creaste estos archivos? He visto una devolución incorrecta cuando solo uso el toque para actualizar la fecha.

En BSD -a no es necesario y yo suelo usarlo ! en lugar de -not (preferencia personal)

Cuando busque ayuda de comandos, recuerde que desea buscar BSD, porque hay algunas diferencias que utilizo.Páginas de manual de FreeBSD

Recuerde que en el archivo hay algo más que minutos, por lo que si desea el primer segundo, debe marcarlo. Configuré una estructura como la tuya y cuando agregué :00 para los segundos pude obtener los mismos resultados que tú, donde no tenía sentido. así que hice un ls -lT y pude ver los segundos en el archivo y luego ejecuté el comando de búsqueda y obtuve los resultados esperados. ¡Parece que de forma predeterminada! o -not establece los segundos en 59 para que incluya el minuto completo.

#$ encontrar. -newermt "2010-10-26 20:11:00"! -newermt "2010-10-26 20:13:00"

información relacionada