Pages : 1
#1 Le 28/04/2011, à 10:07
- Ouways
Renomage groupé. [Résolu]
Bonjour,
Dans un dossier quelconque, j'ai un nombre considérable de dossier dont leur nom se termine par " - 1998".
Idéalement, j'aimerais supprimer cette mention par le biais de la console afin que je n'ai pas à les retirés manuellement.
Dans l'attente de vos réponses, bonne journée !
إوَيْ
Dernière modification par Ouways (Le 28/04/2011, à 15:59)
Hors ligne
#2 Le 28/04/2011, à 10:08
- J5012
Re : Renomage groupé. [Résolu]
pkoi se tracasser avec la console ? utilise krename...
Hors ligne
#3 Le 28/04/2011, à 10:17
- Ouways
Re : Renomage groupé. [Résolu]
Merci de ton aide J5012.
Je n'avais pas connaissance de cet utilitaire. Est-il compatible avec une interface Gnome ?
إوَيْس
Hors ligne
#4 Le 28/04/2011, à 10:34
- emi_lien
Re : Renomage groupé. [Résolu]
Pyrenamer : je l'utilise sur mon ubuntu (gnome) et c'est parfait !
J'aime le fait qu'il aille piocher dans les données exif de mes photos pour récupérer les infos et renommer facilement mes photos
Hors ligne
#5 Le 28/04/2011, à 10:37
- Ouways
Re : Renomage groupé. [Résolu]
Merci de votre aide.
Je vais de ce pas tester ces applications.
إوَيْس
Edit : Concernant Pyrenamer, il ne renomme pas en masse les dossiers. C'est valable uniquement pour les fichiers.
Dernière modification par Ouways (Le 28/04/2011, à 10:40)
Hors ligne
#6 Le 28/04/2011, à 10:44
- Ouways
Re : Renomage groupé. [Résolu]
Après avoir tester ces utilitaires, je me rend compte qu'ils ne renomme que des fichiers et non des dossiers.
Quelqu'un aurais une solution à me proposer ?
إوَيْس
Hors ligne
#7 Le 28/04/2011, à 11:29
- Sciensous
Re : Renomage groupé. [Résolu]
une fois dans le dossier, en ligne de commande:
for a in `ls`; do if [ -d "$a" ]; then mv "$a" ${a%%-1998}; fi; done
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#8 Le 28/04/2011, à 12:37
- Ouways
Re : Renomage groupé. [Résolu]
Sciensous,
Merci de ton intervention. Pour tester cette commande (avant de l'appliquer là où j'en ai besoin), j'ai créer dossier quelconque.
Dans ce dossier j'ai créer 3 dossier : "fad", "gfsda - 1998" et "trew - 1998". Après avoir appliqué la commande que tu m'as proposé, il m'a été retourné une erreur :
mv: ne peut déplacer `fad' vers un sous-répertoire de lui-même `fad/fad'
Et les deux autres dossiers n'ont pas été renommés.
إوَيْس
Hors ligne
#9 Le 28/04/2011, à 12:51
- Sciensous
Re : Renomage groupé. [Résolu]
l'erreur est normale: il renomme un dossier en son meme nom, ce qui pose probleme pour le shell mais pas sur le resultat (ce n'est pas très propre mais l'erreur est ignorée ensuite)
ça ne marche pas car je n'ai pas mis d'espace, il faut les rajouter:
edit2: voilu
ls | while read a; do if [ -d "$a" ]; then echo "$a"; b=${a%% - 1998}; if [ "$b" != "$a" ]; then mv "$a" "$b";fi; fi; done;
Dernière modification par Sciensous (Le 28/04/2011, à 13:04)
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#10 Le 28/04/2011, à 13:04
- twocats
Re : Renomage groupé. [Résolu]
for a in *-\ 1998; do if [ -d "$a" ]; then mv "$a" "${a%%\ -\ 1998}"; fi; done
La réponse est 42
Hors ligne
#11 Le 28/04/2011, à 13:23
- AnsuzPeorth
Re : Renomage groupé. [Résolu]
Bjr,
Pourquoi pas utiliser rename qui est prévu pour ça ? Couplé avec find.
find '/home/user/dossier' -type d -name *1998 -exec rename -n 's/ - 1998//' {} \;
Enlever l'option -n de rename pour renommer les fichiers, en l'état juste le résultat est sortie en console.
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#12 Le 28/04/2011, à 13:31
- Ouways
Re : Renomage groupé. [Résolu]
Tip top ça marche !
Merci à vous pour vos réponses. Bonne continuation !
إوَيْس
Hors ligne
#13 Le 28/04/2011, à 14:43
- Sciensous
Re : Renomage groupé. [Résolu]
@AnsuzPeorth: oui tu as raison !!!
Faut dire que je ne suis pas du tout habitué à Perl, mais plutot aux scripts
Dernière modification par Sciensous (Le 28/04/2011, à 22:42)
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#14 Le 28/04/2011, à 16:20
- wsc
Re : Renomage groupé. [Résolu]
@AnsuzPeorth: oui tu as raison !!!
Faut dire que je ne suis pas du tout habitué à Perl, mais plutot aux scripts
[HS]
Bein votre solution semble pas mal non plus puisqu'elle fonctionne avec coreutils (ls et mv), tandis que celle d' AnsuzPeorth est limité à debian et distributions dérivés.
Après c'est vrai qu'on est sur un forum ubuntu.
Mais je me permet cette intervention car rename peut prêter à confusion, "le vrai rename" est l'équivalent de mv et la version rename de perl utilise les regexp ainsi que pas mal d'options.
Sous une Arch Linux par exemple, le rename est bien celui du coreutils, et si on installe le rename de chez perl via le gestionnaire de paquets, on garde rename (du coreutils) et on dispose du binaire perl-rename en plus (ce qui semble logique d'ailleurs).
Avec la version d'AnsuzPeorth sur une Arch installé par défaut il faut donc installer: findutils, perl + perl-rename puis modifier la commande (rename vers perl-rename)
Voila, cette réponse pour ceux qui se demanderaient pourquoi rename sur debian parait beaucoup "mieux||complet" que sur d'autres distributions...
Ce qui veut aussi dire qu'un script avec rename n'est pas forcément portable entre diverses distributions
[/HS]
Dernière modification par wsc (Le 28/04/2011, à 16:25)
#!/bin/crash
SYS="Arch Linux avec FVWM Crystal"
echo -e "\nMon site internet et le weB-log ... \nMon système: $SYS \n\n"
sleep 2 && exit 0
Hors ligne
#15 Le 28/04/2011, à 16:53
- FRUiT
Re : Renomage groupé. [Résolu]
Bjr,
Pourquoi pas utiliser rename qui est prévu pour ça ? Couplé avec find.find '/home/user/dossier' -type d -name *1998 -exec rename -n 's/ - 1998//' {} \;
Enlever l'option -n de rename pour renommer les fichiers, en l'état juste le résultat est sortie en console.
Hummmmmmmmm... Un beau useless use of find ^^
rename -n 's/ - 1998//' *" - 1998"/
Dernière modification par FRUiT (Le 28/04/2011, à 16:54)
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#16 Le 28/04/2011, à 17:20
- AnsuzPeorth
Re : Renomage groupé. [Résolu]
Ce qui veut aussi dire qu'un script avec rename n'est pas forcément portable entre diverses distributions
C'est tjrs bien à savoir... Je vais finir pas ne faire que du sh (euhh, dash même !), au moins, ce sera portable
Hummmmmmmmm... Un beau useless use of find ^^
Mon premier
Tu aurais au moins pu mettre une image, comme le faisait sputnick !
Sinon, find est récursif, pas ce que tu proposes
Vi je sais, l'expension de noms bash > 4 permet la récursivité.
Mais j'y ai pas pensé à vrai dire ... Mauvaises habitudes/reflexes !
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#17 Le 28/04/2011, à 17:40
- FRUiT
Re : Renomage groupé. [Résolu]
Je mets quand même le bash 4 récursif, pour les autres ^^ :
(shopt -s globstar ; rename -n 's/ - 1998//' **/*" - 1998"/)
Dernière modification par FRUiT (Le 28/04/2011, à 17:42)
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#18 Le 28/04/2011, à 17:45
- Woodstocker
Re : Renomage groupé. [Résolu]
Merci à l'initiateur de ce sujet, il m'a permis de décourir krename, qui correspond exactement à ce que je cherchais
Mais je me permet cette intervention car rename peut prêter à confusion, "le vrai rename" est l'équivalent de mv et la version rename de perl utilise les regexp ainsi que pas mal d'options.
Sous une Arch Linux par exemple, le rename est bien celui du coreutils, et si on installe le rename de chez perl via le gestionnaire de paquets, on garde rename (du coreutils) et on dispose du binaire perl-rename en plus (ce qui semble logique d'ailleurs).
J'aime ce genre de phrases : n'étant pas spécialiste, je ne risque pas d'en saisir le sens... mais j'admire ceux qui manipulent des notions ou des concepts incompréhensibles (pour moi) comme si c'était évident !
Overdose de Windows...
Administration du remède en cours : Lucid Lynx
En convalescence (pas booté sur Windows depuis un mois)
Vaccination de rappel : booté sur Windows après deux mois d'Ubuntu : 103 Mo de mises à jour d'antivirus, et il a perdu la souris...
Hors ligne