Buscar archivos en carpetas y moverlos recursivamente a una nueva carpeta

2

Necesito una forma de buscar desde una carpeta base, todas las carpetas dentro de esa recursivamente, y encontrar todas las fotos de JPG y PNG que se crearon antes de una fecha determinada (01.Feb.2013) y luego muévalos a una carpeta en particular.

¿Cómo voy a hacer esto?

    
pregunta Danijel-James W 04.10.2013 - 09:23

1 respuesta

4

Podrías usar find :

touch -t 201302010000 /tmp/a
find ~/directory \( -iname \*.jpg -o -iname \*.png \) -Bnewer /tmp/a \
    -exec mv {} ~/directory2 \;

touch -t normalmente solo cambia los tiempos de modificación y acceso, pero también cambia la hora de creación si la hora objetivo es anterior a la hora de creación original o cuando está creando un nuevo archivo.

-Bnewer (para la hora de nacimiento / creación) no es compatible con las plataformas GNU / Linux que no tienen metadatos para la hora de creación.

Los paréntesis son necesarios porque -a (y las expresiones de concatenación sin -a ) tienen mayor prioridad que -o .

    
respondido por el user495470 04.10.2013 - 13:30

Lea otras preguntas en las etiquetas