Moviendo archivos a un directorio superior
Este fin de semana me tomé el tiempo de organizar algunas fotografías que había tomado hace un tiempo, desafortunadamente la organización era un tanto caótica y difícil de navegar. Porque tenia muchas subcarpetas, así que en lugar de navegar de una en una, cortar los archivos, entrar a la siguiente y mover los archivos nuevamente, lo arregle en un par de minutos con la Terminal. Veamos como se hace.
Escenario
Tenía una serie de carpetas parecido a esto:
2020/
01-Enero/
Semana1/
img_0000.cr2
img_0001.cr2
Semana2/
img_0002.cr2
img_0003.cr2
Semana3/
img_0004.cr2
img_0005.cr2
Semana3/
img_0006.cr2
img_0007.cr2
img_0008.cr2
Y quería dejarla de esta forma:
2020/
01-Enero/
img_0000.cr2
img_0001.cr2
img_0002.cr2
img_0003.cr2
img_0004.cr2
img_0005.cr2
img_0006.cr2
img_0007.cr2
img_0008.cr2
Repetir este proceso durante carpetas durante varias carpetas correspondiente a los meses y a varios años, era simplemente ridículo, así que tome la idea que habíamos planteado para Mover archivos de subcarpetas a toda velocidad y hacer unos cuantos cambios, veamos como:
Consideraciones
cd /carpeta/archivos/desordenados
find . -name '*.cr2' -print0 | xargs -0 sh -c 'for file; do mv "$file" "${file%/*}"/..; done' sh
find . -type d -empty -print -delete