Bonjour,
J'ai des fichiers nommés : test_01_1.txt, test_01_2.txt et ainsi de suite
j'aimerais que le 01 soit renommé en 02 pour avoir
test_02_1.txt, test_02_2.txt et ainsi de suite
J'ai essayé la commande
rename -n 's/01/02/g' *.txt
mais je n'ai pas de retour ... et je ne comprends pas ce qui cloche.
Pour le coup, je me demande si il n'y a pas un problème sur mon système avec cette commande (et alors sans doute d'autre)
Il y a une solution, mais les fichiers seront renommé en 2 et non 02. Il suffit de sélectionner tous les fichiers concernés, puis par un clic-droit choisir "renommer" et dans la fenêtre "# sera remplacé par des nombres croissants démarrant par .. " mettre 2
En fait je dois remplacer 01 par 02 et certains noms de fichiers sont plus complexes, une commande serait le mieux mais je ne comprends pas pourquoi celle avec rename ne fonctionne pas.
Vous trouverez peut-être plus d'infos en consultant man rename.
Pour rename, tu as employé l'option -n qui signifie no-act et qui sert à simuler un résultat et non à l'appliquer et qui doit s'employer avec -v pour voir le résultat de la simulation. ;)
https://www.man7.org/linux/man-pages/man1/rename.1.html
Si tes fichiers ont des noms vraiment complexes, peut-être faut-il essayer des substitutions avec Perl et les regex ?
https://www.techrepublic.com/article/regular-expresssion-substitutions-in-perl/
à plus,
oh!rocks
J'utilise habituellement Krename (https://fr.wikipedia.org/wiki/KRename) pour ce genre de cas.
@oh!rocks : j'ai tenté la commande
rename -n -v 's/test/fichier/g' *.txt
et je n'ai pas non plus de retour dans le terminal.
@Raoul : merci, je ne connaissais pas.
Je l'ai installé et ça semble faire le travail, par contre je ne m'y prends sans doute pas bien, il a fallu que je sélectionne chaque fichier pour lui demander de chercher/remplacer
Edit : non c'est bon, j'ai compris comment faire. Merci pour cette découverte, ça résout mon problème :)
J'espère que le non fonctionnement de la commande rename ne présage pas de problèmes à venir sur le système, la mise à niveau 15.1 -> 15.2 semblait ok pourtant...
Bizarrement, ça fonctionne comme ça :
rename 01 02 *.txt
(source : https://stackoverflow.com/questions/1392768/renaming-part-of-a-filename (https://stackoverflow.com/questions/1392768/renaming-part-of-a-filename))
Je n'aurais pas parié sur autant de simplicité ::) !
Ouiiii :D
Merci epysod12 !
Cette commande fonctionne aussi chez moi et me rassure pour le coup.
J'avais aussi trouvé l'autre commande sur le net.
Est-ce qu'elle fonctionne sur ton système ou c'est comme pour moi ?
J'utilise krename pour ce genre de boulot.
Il permet beaucoup de choses. Je renomme des photos avec la date et l'heure de prise de vue (mon appareil ne le fait pas automatiquement) et une fois "la formule" trouvée, c'est du bonheur pour tout renommer...
De plus, il est bien intégré à Plasma
@chalu :Oui oui, j'ai reproduit les étapes que tu présentais dans ton premier message, et le résultat est identique : sous la forme "
rename -n 's/01/02/g' *.txt" ça ne donne rien... Mais bon, comme ça maintenant je sais ! Merci ;)
@Mister-Magoo :Je confirme aussi que KRename est d'une efficacité redoutable pour le renommage de masse, quel que soit le type de fichier. Il y en avait un autre qui s'appelait "Métamorphose 2", mais le développement est en pause depuis longtemps :(