Oggi vediamo come posso sfruttare in ambiente Mac il nostro amico Automator e creare una comando Bash che vada a prendere il file appena scaricato da GitHub, per esempio “mia-repo-master.zip” e rimuova “-master” dal file zip.
Il processo
- Prendi il file zip “mia-repo-master.zip”
- Apri il file
- Rimuovi dalla cartella estratta il “-master” alla fine
- Prendi questa nuova cartella e crea il file zip
Per fare questo appunto procediamo come segue.
Apri Automator e scegli azione rapida
Vai al menu di sinistra e seleziona da Utility -> Esegui script shell e trascina sulla destra
Ora setta /bin/bash dal menu di sinistra
Ora nel menu a tendina di destra setta Passa a input: “come argomenti”
Ora inserisci questo script nel campo sottostante
#!/bin/bash # Verifica se il file ZIP è stato fornito come argomento if [ -z "$1" ]; then echo "Devi fornire un file ZIP come argomento." exit 1 fi # Percorso completo del file ZIP zip_file="$1" # Estrai il nome del file senza estensione file_name=$(basename -s .zip "$zip_file") # Estrai la directory in cui si trova il file ZIP zip_dir=$(dirname "$zip_file") # Crea una cartella temporanea temp_folder="$(mktemp -d)" # Estrarre il file ZIP nella cartella temporanea unzip "$zip_file" -d "$temp_folder" # Rimuovere il suffisso "-master" dalla cartella estratta extracted_folder="$temp_folder/$file_name" new_folder="${extracted_folder%-master}" # Rinomina la cartella mv "$extracted_folder" "$new_folder" # Spostarsi all'interno della cartella rinominata cd "$new_folder" # Crea un nuovo file ZIP dalla cartella rinominata zip -r "$zip_dir/${new_folder##*/}.zip" . # Tornare alla directory originale cd "$zip_dir" # Rimuovere il file ZIP originale rm "$zip_file" # Rimuovere la cartella temporanea rm -r "$temp_folder" echo "Operazione completata." exit 0
Ora salva con il nome della tua azione, lo troverai successivamente facendo tasto destro sul file zip, per esempio “ZIP rimuovi master”
Fatto questo il risultato finale sarà il seguente: