#1 Le 01/05/2010, à 10:34
- cricri38
remplacer espaces dans tous les dossier [résolu]
bonjour ,
je souhaiterais remplacer les espaces des noms de tous mes dossier (mal gérés par différentes applications ) par des _ , j'imagine que c'est facilement possible par ligne de commande , mais je sais pas comment faire , j'ai bien vu des trucs dans les forums , mais toujours liés avec d'autres commandes , ou pas clair .
vu que j'ai du mal avec les codes je préfère pas faire qque chose si je suis pas sur du code , surtout si ça doit toucher tous les dossiers .
alors si qqu'un pourrait m'aider j'en serait très heureuse.
merci
Dernière modification par cricri38 (Le 01/05/2010, à 13:11)
18.04 LTS
Hors ligne
#2 Le 01/05/2010, à 11:29
- skingrapher
Re : remplacer espaces dans tous les dossier [résolu]
Bonjour,
Il existe un utilitaire en ligne de commande qui fait exactement ce boulot; il s'appelle detox. Il remplace automatiquement les espaces par des underscores.
Exemple:
detox mon\ fichier
Le fichier sera renommé en mon_fichier.
Ça fonctionne aussi pour les répertoires.
Je suis un obsédé textuel. J'aime trop le LaTeX.
Hors ligne
#3 Le 01/05/2010, à 11:38
- hardball
Re : remplacer espaces dans tous les dossier [résolu]
je te propose de le faire en plusieurs étapes
1/ recherche des fichiers et dossiers avec un espace dans ta home :
find $HOME -name "* *" > /tmp/liste-des-fichiers-et-dossiers-avec-un-espace
tu peux ainsi vérifier ce que le find a trouvé (en éditant le fichier /tmp/liste-des-fichiers-et-dossiers-avec-un-espace)
2/ création du script de renommage
perl -ne 'chomp;$old=$_;s/\s/_/g;print "mv -f \"$old\" $_ \n"' /tmp/liste-des-fichiers-et-dossiers-avec-un-espace >/tmp/renommage.sh
chmod 0777 /tmp/renommage.sh
dans la commande ci-dessus
s/\s/_/g signifie de remplacer espace par underscore
si tu voulais mettre plutot des tirets : s/\s/-/g
3/ apres avoir vérifié le fichier /tmp/renommage.sh, tu peux le lancer depuis un terminal
PS: il existe aussi la commande rename
Dernière modification par hardball (Le 01/05/2010, à 11:43)
-- Toshiba satelliteA100-335 + Ubuntu Jaunty --
Pour les noobs : Bienvenue ! ici la perséverance vous récompense.
Pour les anciens : Merci à vous de partager votre savoir.
Et vive le perl !
Hors ligne
#4 Le 01/05/2010, à 11:39
- hardball
Re : remplacer espaces dans tous les dossier [résolu]
Il existe un utilitaire en ligne de commande qui fait exactement ce boulot; il s'appelle detox.
merci pour l'info skingrapher
-- Toshiba satelliteA100-335 + Ubuntu Jaunty --
Pour les noobs : Bienvenue ! ici la perséverance vous récompense.
Pour les anciens : Merci à vous de partager votre savoir.
Et vive le perl !
Hors ligne
#5 Le 01/05/2010, à 11:54
- cricri38
Re : remplacer espaces dans tous les dossier [résolu]
merci à tous les deux !
super ; detox à l'aire plus simple , mais je vais tester aussi la méthode script histoire d'apprendre à faire .
merci à tous les deux !
18.04 LTS
Hors ligne
#6 Le 01/05/2010, à 12:24
- credenhill
Re : remplacer espaces dans tous les dossier [résolu]
hello
find . -depth -name "* *" -exec rename 's/ /_/g' "{}" \;
Hors ligne
#7 Le 01/05/2010, à 12:39
- cricri38
Re : remplacer espaces dans tous les dossier [résolu]
je te propose de le faire en plusieurs étapes
1/ recherche des fichiers et dossiers avec un espace dans ta home :
find $HOME -name "* *" > /tmp/liste-des-fichiers-et-dossiers-avec-un-espace
tu peux ainsi vérifier ce que le find a trouvé (en éditant le fichier /tmp/liste-des-fichiers-et-dossiers-avec-un-espace)
2/ création du script de renommage
perl -ne 'chomp;$old=$_;s/\s/_/g;print "mv -f \"$old\" $_ \n"' /tmp/liste-des-fichiers-et-dossiers-avec-un-espace >/tmp/renommage.sh chmod 0777 /tmp/renommage.sh
dans la commande ci-dessus
le fichier tmp est bien crée , le script aussi , mais quand je le lance il semble agir , mais au final rien ! y à t'il une subtilité qui m'aurait échappée?
18.04 LTS
Hors ligne
#8 Le 01/05/2010, à 13:10
- cricri38
Re : remplacer espaces dans tous les dossier [résolu]
hello
find . -depth -name "* *" -exec rename 's/ /_/g' "{}" \;
Merci credenhill !! super !! ça , ça marche nickel !! .... il me faudra vraiment apprendre tous ces termes et la manière de s'en servir , parce que c'est vraiment très pratique !
merci encore à tous pour votre aide
18.04 LTS
Hors ligne