C'est mon problème: j'ai un dossier avec 500 images nommé:
1.jpg
2.jpg
3.jpg
etc..
J'ai copié ce dossier et je dois maintenant renommer les mêmes images de 501 à 1000, mais dans l'ordre, comme ceci:
1.jpg becomes 501.jpg
2.jpg becomes 502.jpg
3.jpg becomes 503.jpg
....
Lorsque j'utilise ma commande de renommage standard:
i=501;for img in $(find . -iname '*.jpg'); do echo -n "Converting $img"; mv $img $i.jpg && echo $i && ((i++)); done
Il commande des images de 501 à 1000 mais elles sont toutes dispersées:
23.jpg becomes 501.jpg,
66.jpg becomes 502.jpg
...
(ils sont dans le bon ordre, mais ça les mélange)
Je sais que c'est probablement une commande qui me manque ...
Essayez Thunar, qui est le gestionnaire de fichiers par défaut pour Xfce. Il est très léger et est livré avec un outil de renommage en masse très pratique. Vous pouvez installer Thunar en exécutant la commande suivante dans Terminal:
Sudo apt-get install thunar
Vous pourrez probablement également installer à partir du logiciel Ubuntu.
Outre Numérotation , cet utilitaire prend en charge les actions suivantes:
La commande find
recherche les fichiers dans l'ordre 'répertoire' (23.jpg
, 66.jpg
, ...). vous pouvez mettre un |sort
après la recherche.
Mais vos méthodes sont trop complexes.
for i in $( seq 1 500 ) ; do
j=$(( $i + 500 ))
mv $i.jpg $j.jpg
done
Avec la commande rename
name__.
rename -n 's/^(\d+)/sprintf("%d",$1+500)/e' *.jpg
Ou en version pure bash
et en utilisant extension du paramètre Shell .
for FILE in *.jpg; do
mv "$FILE" "$(( ${FILE%.jpg}+500 )).jpg"
done
Si j'ai bien compris ce que vous demandez, je pense que vous pouvez le faire en utilisant l'outil de changement de nom par défaut:
rename 's/^(\d+)/sprintf("%d",$1+500)/e' *.jpg -vn
Vous devez supprimer le commutateur -vn
(verbose - aucune action) après le test pour que la modification soit effective.
Un autre moyen de réaliser cela avec une simple commande Shell
nombre = 1; pour i dans ls
name__; do mv $ i CN $ ((count ++)). $ {i ## *.}; terminé