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:
