Bonjour,
J'ai 566 fichiers à renommer sous la forme "pictXXXX.jpg" où XXXX est un nombre incrémental allant de 0584 à 1149.
J'ai cherché dans le man rename mais je ne connais pas du tout le perl, donc si quelqu'un pouvais me donner l'expression à mettre en argument de la commande rename ce serait cool.
Merci.
Rénald.
# avancons dans le schmilblik...
Posté par NeoX . Évalué à 1.
dans des dossiers et sous dossiers ?
ont-ils tous la meme "forme" :
ex : fichier1, fichier 2, fichier3
bref peux tu nous donner qques infos supplementaires ?
# Clic Clic Clic...
Posté par Donk . Évalué à 2.
[^] # Re: Clic Clic Clic...
Posté par Naha (site web personnel) . Évalué à 2.
(Sinon rename devrait permettre de faire de l'incrémental, mais je n'ai pas le man sous les yeux, désolé.)
# en shell !
Posté par Jean-Marc . Évalué à 1.
Un bon petit shell devrait te faire ça !
Voici du code ci-dessous pour faire le renommage incrémental de photos (pas plus de 1000)
#!/bin/bash
getopts o: arg
#echo $OPTARG
#echo $arg
if [ -z "$OPTARG" ] ; then
echo "Usage : change_nom.sh -o nouveau_nom *jpg"
exit 5
fi
typeset -i argc
argc=`echo $* | wc -w`
typeset -i it
for var in "$@" ; do
if [ -f "$var" ] ; then
it=$it+1
if [ "$argc" -le 99 ] ; then
chaine=`printf "%2d\n" $it | tr ' ' '0'`
else
chaine=`printf "%3d\n" $it | tr ' ' '0'`
fi
NOM=$OPTARG"$chaine".jpg
if [ -f "$NOM" ] ; then
echo "Erreur risque d'écrasement"
exit 5
fi
echo "mv $var $NOM"
mv $var $NOM
fi
done
# En shell, rapide
Posté par LaBienPensanceMaTuer . Évalué à 4.
Sachant que printf te permet de forcer le 0 de début ( le '.' devant entre le % et le 4), et que $(( )) te permet de faire de l'arithmétique (attention, ceci ne fonctionne pas sous tout les shells, mais à coup sur sous bash et zsh).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.