clear.sh: aggiunge menu per ripulire risultati PINN oltre a FDM
Estrae la logica interattiva in cleanup_dir() e aggiunge un menu di primo livello con le opzioni: FDM, PINN, Entrambi, Annulla. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,37 +1,42 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
RESULTS_DIR="$(dirname "$0")/results/fdm"
|
BASE_DIR="$(dirname "$0")"
|
||||||
|
|
||||||
if [[ ! -d "$RESULTS_DIR" ]]; then
|
cleanup_dir() {
|
||||||
echo "Nessuna cartella results/fdm trovata."
|
local LABEL="$1"
|
||||||
exit 0
|
local DIR="$2"
|
||||||
fi
|
|
||||||
|
|
||||||
mapfile -t RUNS < <(find "$RESULTS_DIR" -mindepth 1 -maxdepth 1 -type d | sort)
|
if [[ ! -d "$DIR" ]]; then
|
||||||
|
echo "Nessuna cartella $DIR trovata."
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ ${#RUNS[@]} -eq 0 ]]; then
|
mapfile -t RUNS < <(find "$DIR" -mindepth 1 -maxdepth 1 -type d | sort)
|
||||||
echo "Nessun risultato da cancellare."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Risultati disponibili:"
|
if [[ ${#RUNS[@]} -eq 0 ]]; then
|
||||||
for i in "${!RUNS[@]}"; do
|
echo "Nessun risultato $LABEL da cancellare."
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Risultati $LABEL disponibili:"
|
||||||
|
for i in "${!RUNS[@]}"; do
|
||||||
printf " %2d. %s\n" "$((i+1))" "$(basename "${RUNS[$i]}")"
|
printf " %2d. %s\n" "$((i+1))" "$(basename "${RUNS[$i]}")"
|
||||||
done
|
done
|
||||||
echo ""
|
echo ""
|
||||||
echo "a. Cancella tutti"
|
echo "a. Cancella tutti"
|
||||||
echo "s. Selezione manuale"
|
echo "s. Selezione manuale"
|
||||||
echo "0. Annulla"
|
echo "0. Annulla"
|
||||||
echo ""
|
echo ""
|
||||||
read -rp "Scelta: " MODE
|
read -rp "Scelta [$LABEL]: " MODE
|
||||||
|
|
||||||
case "$MODE" in
|
case "$MODE" in
|
||||||
a|A)
|
a|A)
|
||||||
read -rp "Confermi la cancellazione di ${#RUNS[@]} cartelle? [s/N] " CONFIRM
|
read -rp "Confermi la cancellazione di ${#RUNS[@]} cartelle $LABEL? [s/N] " CONFIRM
|
||||||
if [[ "${CONFIRM,,}" == "s" ]]; then
|
if [[ "${CONFIRM,,}" == "s" ]]; then
|
||||||
rm -rf "${RUNS[@]}"
|
rm -rf "${RUNS[@]}"
|
||||||
echo "Cancellati ${#RUNS[@]} risultati."
|
echo "Cancellati ${#RUNS[@]} risultati $LABEL."
|
||||||
else
|
else
|
||||||
echo "Annullato."
|
echo "Annullato."
|
||||||
fi
|
fi
|
||||||
@@ -48,7 +53,7 @@ case "$MODE" in
|
|||||||
done
|
done
|
||||||
if [[ ${#TO_DELETE[@]} -eq 0 ]]; then
|
if [[ ${#TO_DELETE[@]} -eq 0 ]]; then
|
||||||
echo "Nessuna selezione valida."
|
echo "Nessuna selezione valida."
|
||||||
exit 0
|
return
|
||||||
fi
|
fi
|
||||||
echo "Verranno cancellati:"
|
echo "Verranno cancellati:"
|
||||||
for D in "${TO_DELETE[@]}"; do
|
for D in "${TO_DELETE[@]}"; do
|
||||||
@@ -57,7 +62,7 @@ case "$MODE" in
|
|||||||
read -rp "Confermi? [s/N] " CONFIRM
|
read -rp "Confermi? [s/N] " CONFIRM
|
||||||
if [[ "${CONFIRM,,}" == "s" ]]; then
|
if [[ "${CONFIRM,,}" == "s" ]]; then
|
||||||
rm -rf "${TO_DELETE[@]}"
|
rm -rf "${TO_DELETE[@]}"
|
||||||
echo "Cancellati ${#TO_DELETE[@]} risultati."
|
echo "Cancellati ${#TO_DELETE[@]} risultati $LABEL."
|
||||||
else
|
else
|
||||||
echo "Annullato."
|
echo "Annullato."
|
||||||
fi
|
fi
|
||||||
@@ -67,6 +72,25 @@ case "$MODE" in
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Scelta non valida."
|
echo "Scelta non valida."
|
||||||
exit 1
|
|
||||||
;;
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "Cosa vuoi ripulire?"
|
||||||
|
echo " 1. Risultati FDM (results/fdm/)"
|
||||||
|
echo " 2. Risultati PINN (results/pinn/)"
|
||||||
|
echo " 3. Entrambi"
|
||||||
|
echo " 0. Annulla"
|
||||||
|
echo ""
|
||||||
|
read -rp "Scelta: " CHOICE
|
||||||
|
|
||||||
|
case "$CHOICE" in
|
||||||
|
1) cleanup_dir "FDM" "$BASE_DIR/results/fdm" ;;
|
||||||
|
2) cleanup_dir "PINN" "$BASE_DIR/results/pinn" ;;
|
||||||
|
3)
|
||||||
|
cleanup_dir "FDM" "$BASE_DIR/results/fdm"
|
||||||
|
cleanup_dir "PINN" "$BASE_DIR/results/pinn"
|
||||||
|
;;
|
||||||
|
0|"") echo "Annullato." ;;
|
||||||
|
*) echo "Scelta non valida." ; exit 1 ;;
|
||||||
esac
|
esac
|
||||||
|
|||||||
Reference in New Issue
Block a user