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 28/10/2015, à 15:17

hokusai

script de renommage de fichiers

Bonjour à toute et tous

Alors tout est en quelque sorte dans le titre. Je suis en train de mettre à jour ma bilbiographie pour ma thèse, et je n'ai pas eu de politique de rangement ou d'organisation très structurée... c'est très mal je sais... je voudrais pouvoir renommer tout mes fichiers pdf en fonction des titres d'articles auxquels ils correspondent ces derniers ayant souvent en abréviation les noms des revues. Pour ça je le fais à la main. Uncopier coller du titre, renommer et zou. Mais je voudrai que les mots du titre du fichier pdf soient systématiquements espacés par un "_" et non un blanc. Je pense à réaliser un script bash pour ça mais je ne vois pas quelle fonction pourrrait me permettre de prendre le nom d'un fichier et de remplacer tous les blancs et les "' ' " comme les "&" ou les "-" par un "_"... des idées?

Merci d'avance!!!! et longue vie à linux ;-)

J'ai oublié de préciser qu'avec sed je sais à peu près me débrouiller: J'ai cette fonction:
echo "le nom du fichier à traiter" | sed -e "s/ /_/g" qui me permet d'afficher le "nom du fichier à traiter" dans le terminal avec des "_" à la place des " ". mais je voudrais que cette fonction renomme en tte fin le fichier avec la sortie de sed ;-) un autre pipe avec mv?

Dernière modification par hokusai (Le 28/10/2015, à 15:33)


-- Debian wheezy Net install + Awesome -- Laptop Samsung 8Go RAM I5 NVIDIA Optimus --

Hors ligne

#2 Le 28/10/2015, à 15:37

inbox

Re : script de renommage de fichiers

Salut,

Avec Pyrenamer, cela devrait aller.

A+


Un problème résolu ? Indiquez le en modifiant le titre du sujet.

Hors ligne

#3 Le 28/10/2015, à 16:08

cqfd93

Re : script de renommage de fichiers

Bonjour,

Essaye

rename -n 'y/\&\-\ /_/' *

qui va remplacer & (\&), - (\-) et espace (\ ) par _, et si ça fait ce que tu veux, supprime le "-n".
Tu peux ajouter d'autres caractères à substituer juste avant le deuxième /.

Exemple avec trois fichiers dans "test rename" :

moi@moi-scaleo:~/Documents/test rename$ ls -1
document-vide
fichier de test avec &
test avec & et - (copie)
moi@moi-scaleo:~/Documents/test rename$ rename -n 'y/\&\-\ /_/' *
document-vide renamed as document_vide
fichier de test avec & renamed as fichier_de_test_avec__
test avec & et - (copie) renamed as test_avec___et___(copie)
moi@moi-scaleo:~/Documents/test rename$

cqfd93

Hors ligne

#4 Le 28/10/2015, à 16:45

hokusai

Re : script de renommage de fichiers

Super merci merci!

Bon j'ai testé pyrenamer et ça a l'air très puissant mais ça ne me permet pas de connaître les commandes unix sur lesquelles il se base! mais je le garde au cas où je n'y arrive pas en ligne de commande (ce qui me permet d'apprendre au passage).
Concernant rename je viens de tester mais il me renvoie que l'option -n est une option invalide et lorsque je ne l'utilise pas (ou que j'utilise l'option verbose à la place) il ne se passe rien sur le nom des fichiers... étrange non?


-- Debian wheezy Net install + Awesome -- Laptop Samsung 8Go RAM I5 NVIDIA Optimus --

Hors ligne

#5 Le 28/10/2015, à 16:57

cqfd93

Re : script de renommage de fichiers

Tiens c'est bizarre, mais là je ne sais pas ce qui peut se passer.


cqfd93

Hors ligne

#6 Le 28/10/2015, à 16:59

inbox

Re : script de renommage de fichiers

Donne le retour de la commande entre balises code (bouton bt_pre.png au dessus de la zone de texte de réponse).


Un problème résolu ? Indiquez le en modifiant le titre du sujet.

Hors ligne

#7 Le 06/11/2015, à 23:03

carreti

Re : script de renommage de fichiers

hokusai a écrit :

Super merci merci!

Bon j'ai testé pyrenamer et ça a l'air très puissant mais ça ne me permet pas de connaître les commandes unix sur lesquelles il se base! mais je le garde au cas où je n'y arrive pas en ligne de commande (ce qui me permet d'apprendre au passage).
Concernant rename je viens de tester mais il me renvoie que l'option -n est une option invalide et lorsque je ne l'utilise pas (ou que j'utilise l'option verbose à la place) il ne se passe rien sur le nom des fichiers... étrange non?

Hello,

c'est parce que sur ta distribution par défaut le rename doit être celui d'util-linux alors que sur d'autre c'est celui de perl qui autorise les regexp.

rename -V
rename de util-linux 2.26.2

Il faut installer (ou peut être y est-il déjà) celui de perl qui s'appellera perl-rename ou prename suivant les distributions. Le rename me parait une solution puissante et sûre à la fois, surtout avec l'option -n, contrairement au mv qui est parfois plus définitif. (en l'utilisant avec l'option -vi à la limite).


Utilisateur et administrateur de Linux et d'Unix (depuis le siècle dernier) et plus précisément ces dernières années de  Linux Gentoo et de Windows 10 ...
Je cherche du boulot sur Paris et RP Ouest en administration système ou mieux dans la tierce maintenance applicative, middleware, base de données, flux ...

Hors ligne