La línea de comandos de Mac ordena archivos en subcarpetas

La línea de comandos de Mac ordena archivos en subcarpetas

Quiero ejecutar un comando en una carpeta muy grande para ordenar cada elemento en subcarpetas según la fecha de modificación. ¿Se puede hacer esto con una línea?

Es decir, todos los archivos modificados en julio de 2013 se trasladarían a 2013-07etc.

Algo con find... analiza el año/mes, luego muévete a la carpeta correspondiente.

La manpágina para Mac findestá aquí:https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/find.1.html

Respuesta1

encontré la respuestaaquí... y lo modifiqué según mis necesidades:

for f in 12*; do   
     dir='/foo/bar/'$(stat -f%Sm -t%Y-%m "$f")
     [ -d "$dir" ] || mkdir "$dir"
     mv -nv "$f" "$dir"/
done

Puede reemplazar el min -f%Smcon cualquiera de los siguientes:

a, m, c, b

  • El archivo de tiempo fue el últimoaaccedido ometroodificado, de cuando el inodo fue la última vezCahorcado, o elBTercer tiempo del inodo.

información relacionada