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 07/07/2015, à 12:02

Nico-ARTS

[Résolu] Nommer les caractères aux fichiers en un seul coup ?

Bonjour,

Je cherche un petit logiciel qui est capable de renommer les fichers en un seul coup, pour mettre sur le serveur du site.

J'ai beaucoup des fichiers à modifier pour un client, donc je fais le manuelle pour le moment. Je vous donne quelques exemple sans effacer les noms complets mais juste les caractères :
- xxxx_xxx_xx.ext, xx_xxx.ext, xxxxxxx_xx.ext, je veux le renommer un seul coup par : xxxx-xxx-xx.ext, xx-xxx.ext, xxxxxxx-xx.ext
- Yxxx.ext, Yxx-Yxxx.ext, Yxxx_xxx_Yx.ext, je veux le renommer un seul coup par yxxx.ext, yxx-yxxx.ext, yxxx_xxx_yx.ext
- xxöxx.ext, xxxö.ext, öxxxx-öxxxx.ext, je veux le renommer un seul coup par xxoxx.ext, xxxo.ext, oxxxx-oxxxx.ext

Vous connaissez un logiciel ou comment je code ça via Terminal ?

Merci beaucoup et toutes mes meilleures salutations

Dernière modification par Nico-ARTS (Le 08/07/2015, à 09:16)

Hors ligne

#2 Le 07/07/2015, à 12:38

gigiair

Re : [Résolu] Nommer les caractères aux fichiers en un seul coup ?

la commande rename le fait.

man rename

Les commandes

rename -n 's/_/-' *.ext
rename -n 's/[A-Z]/[a-z]/' *.ext
rename -n 's/[öÖ]/[o]/' *.ext

exécutent tes désirs sur le répertoire courant.
L'option -n ne renomme pas, elle propose simplement un remplacement. La retirer si on est d'accord.
En conjonction avec find, tu peux même effectuer des replacements sur toute une arborescence.


--
JJR.

Hors ligne

#3 Le 07/07/2015, à 13:01

serged

Re : [Résolu] Nommer les caractères aux fichiers en un seul coup ?

Ou, si tu ne veux pas te prendre trop la tête avec les expressions rationnelles (et la ligne de commande), il y a pyRenamer qui peut s'intégrer à Nautilus.


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#4 Le 07/07/2015, à 13:17

Mobidique

Re : [Résolu] Nommer les caractères aux fichiers en un seul coup ?

Je trouve le renommeur en masse qui vient avec thunar (XFCE, i.e. xubuntu) très efficace et simple d'utilisation. J'ai aussi pyrenamer que j'ai dû tester un peu, mais j'en suis resté à l'outil thunar. Sinon la bonne soluce peut être celle gigiair. A titre d'exemple de combinaison de commandes :

find . -name "*APriori*.log.txt" |xargs grep -L "pouet" |xargs gedit &

find . -name "*.php" -print | xargs sed -i 's/georges@6ma.fr/michel@6ma.fr/g'

La première recherche les fichier selon un masque donné, cherche dans chacun une chaîne de caractères et pour ceux qui la contienne les ouvre avec gedit.
La seconde cherche le fichier php et remplace dans son contenu la chaine georges@6ma.fr par michel@6ma.fr

@+


Debian buster : job laptop & desktop, sons desktops, latitude D420 branché sur l'ampli familial, home laptop & wife's laptop

Hors ligne

#5 Le 07/07/2015, à 15:12

erresse

Re : [Résolu] Nommer les caractères aux fichiers en un seul coup ?

@Mobidique: Les commandes que tu proposes sont destinées à modifier le contenu des fichiers, pas leur nom, comme cherche à le faire Nico-ARTS.
Dans son cas, l'outil graphique pyRenamer est tout indiqué, mais pour autant, il faut bien peaufiner les séquences de remplacement car sa demande est assez complexe...


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#6 Le 07/07/2015, à 15:19

Elzen

Re : [Résolu] Nommer les caractères aux fichiers en un seul coup ?

Salut,

au cas où, gprename doit permettre de faire ça aussi. Je ne me souviens plus des détails, mais il me semble que l'un est mieux intégré à GNOME/Unity, et l'autre moins lourd utilisé dans un autre environnement.

Hors ligne

#7 Le 07/07/2015, à 17:17

gigiair

Re : [Résolu] Nommer les caractères aux fichiers en un seul coup ?

Personnellement, pour renommer des fichiers en masse dans un même répertoire, j'utilise Emacs.
Il suffit d'ouvrir le répertoire en question C-x C-f ~/chemin/versle/répertoire/*.ext, puis de passer en mode d'édition C-x C-q et de modifier les noms de fichier à son goût. Avec les puissantes fonctions de recherche et remplacement d'Emacs on peut faire des merveilles.
Par exemple pour remplacer tous les _ par des -
M-% _ [RET] - [RET] !
Et voilà tous les _ remplacés par des -.
C-c C-c pour valider, et c'est fini.
Pour ceux qui ne connaissent pas du tout Emacs C désigne la touche Ctrl, M désigne la touche Meta=Alt sur un clavier PC, S désigne la touche majuscule (Shift).

Pour des renommages un peu plus pointus, il faut utilser C-M-% et l'expression à remplacer est une regexp, et on peut inclure du code elisp dans la chaîne de remplacement. C'est ultra-puissant mais c'est aussi assez sportif...


--
JJR.

Hors ligne

#8 Le 08/07/2015, à 09:15

Nico-ARTS

Re : [Résolu] Nommer les caractères aux fichiers en un seul coup ?

Le commande que vous me donnez, cela ne marche pas sur mon poste d'ordinateur mais le logiciel gprename qui fonctionne parfaitement et je gagne beaucoup le temps.

merci beaucoup pour votre aide et salutations

Hors ligne