Alcuni comandi utili (Rinominare cartelle)

Home › Forum › Linux › Alcuni comandi utili (Rinominare cartelle)

Visualizzazione 0 filoni di risposte
  • Autore
    Post
    • #65092
      flongo
      Amministratore del forum

      SHELL BASH (Linux e Mac)

      ACCEDERE ALLA RADICE DELLA MEMORIA USB
      cd /Volumes/Intenso

      VERSIONE SHELL
      echo $SHELL

      COMANDO SU UNA RIGA PER MODIFICARE TUTTI I NOMI DI CARTELLE DA FORMATO “GG MM AAAA” A “AAAA MM GG” ES: “1 agosto 2023” A “2023 agosto 1”:

      for dir in *; do if [ -d "$dir" ]; then if [[ "$dir" =~ ^([0-9]{1,2})\ +([^[:space:]]+)\ +([0-9]{4})$ ]]; then giorno="${BASH_REMATCH[1]}"; mese="${BASH_REMATCH[2]}"; anno="${BASH_REMATCH[3]}"; nuovo_nome="$anno $mese $giorno"; mv "$dir" "$nuovo_nome"; fi; fi; done

      COMANDO SU PIU’ RIGHE CON COMMENTO

      # Per ogni elemento presente nella cartella corrente
      for dir in *; do
          # Verifica che l'elemento sia effettivamente una cartella
          if [ -d "$dir" ]; then
              # Controlla se il nome corrisponde al formato: giorno (1-2 cifre) + mese (testo) + anno (4 cifre)
              if [[ "$dir" =~ ^([0-9]{1,2})\ +([^[:space:]]+)\ +([0-9]{4})$ ]]; then
                  # Salva il giorno trovato nel primo gruppo di parentesi
                  giorno="${BASH_REMATCH[1]}"
                  # Salva il mese trovato nel secondo gruppo di parentesi
                  mese="${BASH_REMATCH[2]}"
                  # Salva l'anno trovato nel terzo gruppo di parentesi
                  anno="${BASH_REMATCH[3]}"
                  # Compone il nuovo nome invertendo l'ordine in "anno mese giorno"
                  nuovo_nome="$anno $mese $giorno"
                  # Rinomina la cartella dal vecchio al nuovo nome
                  mv "$dir" "$nuovo_nome"
              # Chiude il controllo del formato del nome
              fi
          # Chiude il controllo sulla presenza della cartella
          fi
      # Conclude il ciclo per passare all'elemento successivo
      done
Visualizzazione 0 filoni di risposte
  • Devi essere connesso per rispondere a questo topic.