Aggiunge clear.sh per pulizia interattiva di results/fdm/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-14 12:17:44 +02:00
parent 1a530e86ba
commit fa5ce5d19c
Executable
+72
View File
@@ -0,0 +1,72 @@
#!/usr/bin/env bash
set -euo pipefail
RESULTS_DIR="$(dirname "$0")/results/fdm"
if [[ ! -d "$RESULTS_DIR" ]]; then
echo "Nessuna cartella results/fdm trovata."
exit 0
fi
mapfile -t RUNS < <(find "$RESULTS_DIR" -mindepth 1 -maxdepth 1 -type d | sort)
if [[ ${#RUNS[@]} -eq 0 ]]; then
echo "Nessun risultato da cancellare."
exit 0
fi
echo "Risultati disponibili:"
for i in "${!RUNS[@]}"; do
printf " %2d. %s\n" "$((i+1))" "$(basename "${RUNS[$i]}")"
done
echo ""
echo "a. Cancella tutti"
echo "s. Selezione manuale"
echo "0. Annulla"
echo ""
read -rp "Scelta: " MODE
case "$MODE" in
a|A)
read -rp "Confermi la cancellazione di ${#RUNS[@]} cartelle? [s/N] " CONFIRM
if [[ "${CONFIRM,,}" == "s" ]]; then
rm -rf "${RUNS[@]}"
echo "Cancellati ${#RUNS[@]} risultati."
else
echo "Annullato."
fi
;;
s|S)
read -rp "Numeri da cancellare (es. 1 3 5): " -a CHOICES
TO_DELETE=()
for N in "${CHOICES[@]}"; do
if [[ "$N" =~ ^[0-9]+$ ]] && (( N >= 1 && N <= ${#RUNS[@]} )); then
TO_DELETE+=("${RUNS[$((N-1))]}")
else
echo "Indice non valido: $N (ignorato)"
fi
done
if [[ ${#TO_DELETE[@]} -eq 0 ]]; then
echo "Nessuna selezione valida."
exit 0
fi
echo "Verranno cancellati:"
for D in "${TO_DELETE[@]}"; do
echo " - $(basename "$D")"
done
read -rp "Confermi? [s/N] " CONFIRM
if [[ "${CONFIRM,,}" == "s" ]]; then
rm -rf "${TO_DELETE[@]}"
echo "Cancellati ${#TO_DELETE[@]} risultati."
else
echo "Annullato."
fi
;;
0|"")
echo "Annullato."
;;
*)
echo "Scelta non valida."
exit 1
;;
esac