#!/bin/bash # Script per estrarre tutte le tabelle principali da MDB a CSV # Posizione: /home/michele/netgescon/docs/000-IMPORT/03-SCRIPTS/extract-all-mdb-tables.sh MDB_FILE="/home/michele/netgescon/docs/02-architettura-laravel/Gescon/0021/generale_stabile.mdb" OUTPUT_DIR="/home/michele/netgescon/docs/000-IMPORT/02-CSV-ESTRATTI" # Crea directory di output mkdir -p "$OUTPUT_DIR" echo "=== ESTRAZIONE TABELLE MDB ===" echo "Database: $MDB_FILE" echo "Directory output: $OUTPUT_DIR" echo # Lista delle tabelle principali da estrarre TABELLE_PRINCIPALI=( "anni" "Fatture" "Bonifici" "F24" "acqua_gen" "acqua_dett" "Acqua_Fatture" "emes_gen" "emes_det" "Elenco_destinatari_email" "Elenco_destinatari_PEC" "Elenco_destinatari_SMS" "770_ST" "770_ST2" "Corrisp_inviata" "Registro_Nomina_Revoca_Amm" ) # Estrai ogni tabella for tabella in "${TABELLE_PRINCIPALI[@]}"; do echo "Estraendo tabella: $tabella" # Esporta in CSV mdb-export "$MDB_FILE" "$tabella" > "$OUTPUT_DIR/${tabella}.csv" # Conta record RECORDS=$(tail -n +2 "$OUTPUT_DIR/${tabella}.csv" | wc -l) echo " → $RECORDS record estratti" # Mostra primi 3 campi per verifica echo " → Primi campi: $(head -1 "$OUTPUT_DIR/${tabella}.csv" | cut -d',' -f1-3)" echo done echo "=== ESTRAZIONE COMPLETATA ===" echo "File estratti in: $OUTPUT_DIR" echo # Crea indice dei file estratti echo "=== INDICE FILE ESTRATTI ===" > "$OUTPUT_DIR/INDICE-ESTRAZIONE.txt" for file in "$OUTPUT_DIR"/*.csv; do if [ -f "$file" ]; then nome_file=$(basename "$file") righe=$(wc -l < "$file") echo "$nome_file: $((righe-1)) record" >> "$OUTPUT_DIR/INDICE-ESTRAZIONE.txt" fi done echo "Indice creato: $OUTPUT_DIR/INDICE-ESTRAZIONE.txt"