Je rencontre un problème pour renommer plusieurs fichiers en remplaçant le nom par les 10 premiers caractères de leur ancien nom. J'ai essayé de trouver la solution sur Internet mais je n'ai pas trouvé les réponses.
Exemple:
Noms de fichiers originaux:
1208605001abAcd.jpg
1201230111FbcAdee.jpg
11512345714x611aaa.jpg
Ce que je veux réaliser:
1208605001.jpg
1201230111.jpg
1151234571.jpg
Tu peux essayer:
rename -n 's/(.{10}).*(\.jpg)$/$1$2/' *.jpg
Exemple:
$ rename -n 's/(.{10}).*(\.jpg)$/$1$2/' *.jpg
11512345714x611aaa.jpg -> 1151234571.jpg
1201230111FbcAdee.jpg -> 1201230111.jpg
1208605001abAcd.jpg -> 1208605001.jpg
L'option -n
ne simule que la commande, ce qui vous permet de vérifier les modifications. Exécuter sans elle pour réellement apporter les modifications.
Le regex (.{10}).*(\.jpg)
comprend:
.{10}
- 10 caractères quelconques, dans un groupe (…)
, suivis de.*
- un nombre quelconque de caractères suivis de\.jpg$
- l'extension à la fin ($
) du nom du fichier, dans le deuxième groupeLe remplacement $1$2
n'est que le premier groupe suivi du second.
Vous pouvez faire avec seulement bash:
for FILE in *.jpg ; do mv "${FILE}" "${FILE:0:10}.jpg" ; done
Avec un peu de travail, vous pouvez obtenir une extension de fichier et l’ajouter automatiquement au nouveau nom.
Si vous utilisez zsh
:
zmv '(*).(*)' '${1:0:10}.$2'
Si ce n'est pas déjà fait, vous devrez peut-être d'abord exécuter:
autoload zmv
Si vous souhaitez une version graphique, jetez un œil à pyRenamer, un puissant outil de changement de nom en bloc.
pyRenamer a deux grands avantages. La première est que cela vous permet de faire un "et si", autrement dit de voir ce qui se passerait avant de vous engager dans le changement.
L'autre avantage est bien expliqué dans sa description:
Vous pouvez renommer des fichiers à l'aide de modèles, rechercher et remplacer des substitutions, insérer ou supprimer du texte, voire renommer des fichiers manuellement.
Vous pouvez également renommer des images à l'aide de leurs balises EXIF et de la musique à l'aide de leurs balises internes.
Pour l'installer, utilisez Ubuntu Software Center ou votre installateur préféré, ou utilisez la ligne de commande pour lancer la commande suivante:
Sudo apt install pyrenamer