find -newerct "20 Feb 2018" ! -newerct "2 Mar 2018" -exec mv {} /path/to/target/dir
Esto utiliza funciones introducidas en versiones recientes de GNU find.
Hay muchas otras formas de lograr lo mismo con find
. Consulte la página man
para obtener información sobre -newerxy
, -mtime
y otras golosinas.
Para find
implementaciones que no tienen-newerct
(GNU más antiguo find
y find
en sistemas BSD):
Cree dos archivos de marca de tiempo y use find
para encontrar todos los archivos que son más nuevos que el más antiguo y más antiguos que el más nuevo:
touch -d 2018-02-20T00:00:00 ts-start
touch -d 2018-03-03T00:00:00 ts-end
find. -type f -newer ts-start ! -newer ts-end ! -name ts-end -exec mv {} /destination ';'
rm -f ts-start ts-end
Tenemos que excluir el nombre de archivo ts-end
ya que ese archivo cumple con los criterios.