creaestructura.sh

El martes pasé gran parte de la mañana escribiendo un código para crear la estructura de carpetas que utilizo año a año (es decir, una vez al año) para guardar ordenadamente mis facturas.

Los años anteriores lo que hacía era copiar un año pasado (es decir, usar un método recurrente) y borrar todos los archivos en la carpeta creada, con un simple comando linux (find . -type f -exec rm -f {} \;) y otro para el cambio de nombres…

Pero me estaba pareciendo una forma muy poco automatizada, así que gasté más de 2 horas (estaba muy atontado porque había dormido mal) en este código simplón y que me gustaría mejorar para que hiciese más y mejor uso de los bucles, creando los trimestres y los meses de los mismos con un simple bucle dentro de un bucle.

No voy a mejorarlo, aun a sabiendas de que esta forma de hacerlo es pedestre, algo torpe, muy muy poco elegante:

# CREA ESTRUCTURA DE CARPETAS DE FACTURACIÓN
#!/bin/bash

ANNO=2024

# Creamos el año
mkdir $ANNO
cd $ANNO

# Creamos Trimestres
TRIMESTRE="$ANNO - 01 Enero-Marzo"
mkdir "$TRIMESTRE"
cd "$TRIMESTRE"
mkdir "$ANNO - 01 ENERO"
mkdir "$ANNO - 02 FEBRERO"
mkdir "$ANNO - 03 MARZO"
cd ..

TRIMESTRE="$ANNO - 02 Abril-Junio"
mkdir "$TRIMESTRE"
cd "$TRIMESTRE"
mkdir "$ANNO - 04 ABRIL"
mkdir "$ANNO - 05 MAYO"
mkdir "$ANNO - 06 JUNIO"
cd ..

TRIMESTRE="$ANNO - 03 Julio-Septiembre"
mkdir "$TRIMESTRE"
cd "$TRIMESTRE"
mkdir "$ANNO - 07 JULIO"
mkdir "$ANNO - 08 AGOSTO"
mkdir "$ANNO - 09 SEPTIEMBRE"
cd ..

TRIMESTRE="$ANNO - 04 Octubre-Diciembre"
mkdir "$TRIMESTRE"
cd "$TRIMESTRE"
mkdir "$ANNO - 10 OCTUBRE"
mkdir "$ANNO - 11 NOVIEMBRE"
mkdir "$ANNO - 12 DICIEMBRE"
cd ..

# Rellenamos los Meses
for MES in */*/
do
  cd "$MES"
  mkdir COMPRAS FACTURACION PROVEEDORES
  cd ../..
done

 

Esto no es una broma