Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/12/2011, à 20:48

Riicooo

[Script][Astuce] Renommer une sélection de fichiers comme un texte...

Bonjour,
voilà un petit script que j'ai fait pour renommer un groupe de fichier comme si c'était un texte, c'est à dire que le script affichera le noms des fichiers sélectionnés comme un fichier texte, un nom de fichier par ligne, vous pouvez alors changer le texte comme vous voulez, copier coller le texte dans un éditeur pour faire des rechercher/remplacer, ... puis une fois l'édition finie, le script renommera vos fichiers en fonction...

Attention à ne pas modifier l'ordre ou le nombre de ligne !
Il faut zenity pour que le script fonctionne (sudo apt-get install zenity)

Script à coller dans un fichier ~/.gnome2/nautilus-scripts/FileRenamerAsText.sh par exemple, comme ça, en faisant bouton droit sur une série de fichier sélectionnés, le script pourra être lancé :

#!/bin/bash

FileOrig="$(mktemp --suffix=FileRenamerAsText)"
FileMod="$(mktemp --suffix=FileRenamerAsText)"
FileOrigInv="$(mktemp --suffix=FileRenamerAsText)"
FileModInv="$(mktemp --suffix=FileRenamerAsText)"

while [ $# -gt 0 ]
do
   find "$1" >> "$FileOrig"
   shift
done
cp "$FileOrig" "$FileMod"

zenity --filename="$FileOrig"  --width=800 --height=800 --editable  --text-info --title='FileRenamerAsText - pas de modifications de nombre de lignes !'> "$FileMod"

tac "$FileOrig" > "$FileOrigInv"
tac "$FileMod" > "$FileModInv"

nbl=$(cat $FileOrigInv| wc -l)
if [ "$nbl" = "$(cat $FileModInv | wc -l)"  ]
then
   for (( i=1; i <= nbl; i++ ))
   do
   mv "$(sed -n -e "${i}p" $FileOrigInv)" "$(sed -n -e "${i}p" $FileModInv)"
done
else
   zenity  --error --text="des lignes ont été supprimées ou ajoutées"
fi

rm $FileOrig
rm $FileMod
rm $FileOrigInv
rm $FileModInv

ne pas oublier de lui donner les droits d'execution avec "chmod +x ~/.gnome2/nautilus-scripts/FileRenamerAsText.sh"

ça pourrait être plus compact, mieux fait, mais ça marche, ...

Dernière modification par Riicooo (Le 18/12/2011, à 21:32)

Hors ligne