#1 Le 27/05/2010, à 22:11
- k1k
[RESOLU]solution pour renommer des dossiers pour compabilité avec win
Bonjour,
J'essaye de faire un ptit script qui me permettrait de renommé tous les dossiers d'une arborescence si ce dossier contient le caractère . (un point)
j'arrive à les lister par :
find . -type d -iregex '.*\.' -print
mais j'arrive pas à combiner une commande pouvant remplacer les . par des _ ou autres caractère ou les supprimer au plus simple...
Y a t'il un script qui permettrait peut-être de contrôler et mettre à niveau les dossiers par rapport au règle windows au niveau du nommage de fichier et dossier.
Merci les gars et gattes,
k1k.
Dernière modification par k1k (Le 31/05/2010, à 07:47)
Hors ligne
#2 Le 28/05/2010, à 00:27
- Hizoka
Re : [RESOLU]solution pour renommer des dossiers pour compabilité avec win
les dossiers commençant par un . doivent-ils être pris dedans ?
find "${PWD}" -mindepth 1 -type d -iname '*.*' -exec rename 's/\./_/' "{}" \; 2>/dev/null
Donc le script :
- liste tous les dossiers (-type d), sans prendre en compte le dossier dans le quel on est (-mindepth 1) => sinon affiche . comme dossier, ayant un . dans leur nom "-iname '*.*'"
- renomme le dossier en remplacant le . par un _ (tu peux mettre un espace ou ce que tu veux) (rename 's/\./_/' "{}" \;)
- on cache les erreurs (2>/dev/null)
Y a t'il un script qui permettrait peut-être de contrôler et mettre à niveau les dossiers par rapport au règle windows au niveau du nommage de fichier et dossier.
Que faut-il comprendre ? Les codages utilisés (UTF-8...) ?
Dernière modification par Hizoka (Le 28/05/2010, à 00:33)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#3 Le 28/05/2010, à 09:07
- k1k
Re : [RESOLU]solution pour renommer des dossiers pour compabilité avec win
Hizoka> merci de ton aide, j'avais pas pensé à un "exec rename"
par contre, mon
-iregex '.*\.'
est plus approprié car je veux prendre que les dossiers terminant par .
question curieuse, pourquoi un
2>
/dev/null
pourquoi pas tout simplement >dev/null
?
Que faut-il comprendre ? Les codages utilisés (UTF-8...) ?
je m'explique, j'utilise easytag pour taguer et renommer mes dossiers de musique (il le fait merveilleusement bien) avec un codage en UTF-8. cependant, il met permet l'écriture d'un . dans un dossier ce qui est permit en Windows, sauf exception en derrière position dans le nom du dossier exemple : "mondossier."
le pauvre Windows ne peux lire un dossier portant un point en dernière position.
ps: Générateur de fenêtres Zenity > bon boulot, je vais tester ca
Hors ligne
#4 Le 28/05/2010, à 17:46
- Hizoka
Re : [RESOLU]solution pour renommer des dossiers pour compabilité avec win
est plus approprié car je veux prendre que les dossiers terminant par .
Ok, ce n'etait pas clair dans ta demande.
pourquoi pas tout simplement >dev/null
> renvoie les retours ok
2> renvoies les messages d'erreurs (ce qui est le cas là)
&> renvoie les 2
j'utilise easytag
Tout simplement excellent celui-là
cependant, il met permet l'écriture d'un . dans un dossier
Pige pas
sauf exception en derrière position dans le nom du dossier exemple : "mondossier."
J'avais jamais remarqué ça.
Générateur de fenêtres Zenity
merci
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#5 Le 31/05/2010, à 07:59
- k1k
Re : [RESOLU]solution pour renommer des dossiers pour compabilité avec win
J'avais jamais remarqué ça.
Ben voilà comme ca tu va pouvoir exécuter ton script.
et merci à toi Hizoka pour l'explication sur le "2>" ect..; car c'est difficile de trouver une doc sur ce sujet.
Hors ligne
#6 Le 31/05/2010, à 08:07
- Hizoka
Re : [RESOLU]solution pour renommer des dossiers pour compabilité avec win
Ben voilà comme ca tu va pouvoir exécuter ton script.
je n'ai plus windows depuis un moment déjà
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne