Bash : renommer une série de répertoires
Supposons que vous ayez une série de répertoires que vous souhaitez renommer avec un préfixe commun auquel s'ajoute un chiffre à incrémenter, du genre « dossier 1 », « dossier 2 », etc. Voici un script bash tout simple qui permet de le faire.
Ce script, « renommer.sh », est à utiliser avec Nautilus, l'explorateur de documents de Gnome, en le plaçant dans le répertoire .gnome2/nautilus-scripts
. Puis, dans Nautilus :
- Sélectionnez les répertoires à renommer puis clic droit pour lancer la commande
scripts->renommer.sh
- Dans le champ de la fenêtre qui apparaît, entrez le préfixe à utiliser puis validez.
Les répertoires sélectionnés seront ainsi renommés « préfixe-01 », « préfixe-02 », « préfixe-03 », etc.
#! /bin/bash
# Fonction : Renommer une liste de répertoires
# sélectionnés dans Nautilus
# Liste des répertoires sélectionnés
rep=${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS}
# Entrer du préfixe
prefix=`zenity --title "Renommer répertoires" --entry --text "Préfixe" `
# si abandon, arrêt du script
if [[ "$?" != 0 ]]; then
zenity --title "Renommer répertoires" --info --text "Renommer abandonné"
exit
fi
# sinon, renommer les répertoires
val=0
for i in ${rep}
do
if [[ -d $i ]]; then
val=$(( val + 1 ))
# ajouter un 0 si nécessaire
if (( ${#val} < 2 )); then
val="0"$val
fi
mv $i ${prefix}"-"$val
fi
done
zenity --title "Renommer répertoires" --info --text "Renommage effectué"
renommer.sh
Le script peut être facilement modifié en fonction des besoins : utiliser un suffixe au lieu d'un préfixe, renommer les répertoires juste numériquement, ajouter une barre de progression avec zenity, etc.
Comme toujours, si vous ne comprenez pas ne serait-ce qu'une partie du script ci-dessus, ne tentez pas le diable ; je ne voudrais pas être responsable d'une éventuelle perte de vos données.