From 6e755c0b6ce8468d4a97d6f37dc91e5f202739e4 Mon Sep 17 00:00:00 2001 From: Davide Grilli Date: Thu, 7 May 2026 14:53:17 +0200 Subject: [PATCH] fix(clear.sh): esclude _pipeline/ dal batch e supporta stem singolo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Aggiunge argomento opzionale : cancella solo quella cartella - Esclude dal batch le dir che iniziano con _ o __ (es. _pipeline/) - Rimuove flag -f non documentato: la modalità singolo stem non chiede conferma Co-Authored-By: Claude Sonnet 4.6 --- conversione/clear.sh | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/conversione/clear.sh b/conversione/clear.sh index 3774610..04867f1 100755 --- a/conversione/clear.sh +++ b/conversione/clear.sh @@ -4,10 +4,30 @@ set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$SCRIPT_DIR" -mapfile -t dirs < <(find . -maxdepth 1 -mindepth 1 -type d | sort) +STEM="${1:-}" + +if [[ -n "$STEM" ]]; then + # ── Modalità singolo stem ───────────────────────────────────────────── + target="./$STEM" + if [[ ! -d "$target" ]]; then + echo "Errore: cartella '$STEM' non trovata in conversione/." + exit 1 + fi + rm -rf "$target" + echo "Rimossa: conversione/$STEM/" + exit 0 +fi + +# ── Modalità batch: tutti gli output (escluse cartelle infrastruttura) ──── +mapfile -t dirs < <( + find . -maxdepth 1 -mindepth 1 -type d \ + ! -name '_*' \ + ! -name '__*' \ + | sort +) if [[ ${#dirs[@]} -eq 0 ]]; then - echo "Nessuna cartella da cancellare." + echo "Nessuna cartella di output da cancellare." exit 0 fi @@ -16,10 +36,8 @@ for d in "${dirs[@]}"; do echo " $d" done -if [[ "${1:-}" != "-f" ]]; then - read -r -p "Confermi? [s/N] " answer - [[ "$answer" =~ ^[sS]$ ]] || { echo "Annullato."; exit 0; } -fi +read -r -p "Confermi? [s/N] " answer +[[ "$answer" =~ ^[sS]$ ]] || { echo "Annullato."; exit 0; } for d in "${dirs[@]}"; do rm -rf "$d"