Bonjour les jeunes,
j'ai un répertoire rempli de dossiers nommés ainsi :
Sankore Document 2015-09-07 11-22-32.704/ Sankore Document 2015-11-23 09-41-28.227/ Sankore Document 2016-04-04 09-05-28.010/ Sankore Document 2016-11-04 14-43-32.109/ Sankore Document 2017-03-14 11-33-08.965/
Sankore Document 2015-09-08 10-15-04.245/ Sankore Document 2015-11-24 08-08-10.116/ Sankore Document 2016-04-04 10-46-21.060/ Sankore Document 2016-11-07 09-11-31.088/ Sankore Document 2017-03-14 12-21-34.310/
Sankore Document 2015-09-10 10-13-03.597/ Sankore Document 2015-11-24 10-24-40.622/ Sankore Document 2016-04-04 10-46-49.041/ Sankore Document 2016-11-07 09-11-39.723/ Sankore Document 2017-03-17 14-26-48.064/
Sankore Document 2015-09-10 17-26-51.085/ Sankore Document 2015-11-24 11-16-46.027/ Sankore Document 2016-04-04 11-13-57.900/ Sankore Document 2016-11-07 10-32-02.810/ Sankore Document 2017-03-20 08-02-26.588/
Sankore Document 2015-09-14 08-53-04.787/ Sankore Document 2015-11-24 15-10-00.046/ Sankore Document 2016-04-05 08-10-18.478/ Sankore Document 2016-11-10 16-04-42.020/ Sankore Document 2017-03-23 14-40-01.978/
Sankore Document 2015-09-14 11-14-49.320/ Sankore Document 2015-11-26 08-01-27.600/ Sankore Document 2016-04-05 11-41-08.510/ Sankore Document 2016-11-14 09-25-47.485/ Sankore Document 2017-03-23 16-08-27.550/
Sankore Document 2015-09-14 11-19-26.317/ Sankore Document 2015-12-01 08-34-55.929/ Sankore Document 2016-04-05 13-38-51.874/ Sankore Document 2016-11-14 11-28-28.452/ Sankore Document 2017-03-23 16-10-28.917/
Sankore Document 2015-09-15 08-11-16.789/ Sankore Document 2015-12-01 10-35-31.887/ Sankore Document 2016-04-25 10-44-48.651/ Sankore Document 2016-11-17 16-05-02.863/ Sankore Document 2017-03-30 15-04-00.963/
Sankore Document 2015-09-15 10-15-48.029/ Sankore Document 2015-12-01 11-01-54.265/ Sankore Document 2016-04-25 11-30-30.755/ Sankore Document 2016-11-21 09-04-45.634/ Sankore Document 2017-04-03 09-14-50.395/
Sankore Document 2015-09-15 11-44-31.894/ Sankore Document 2015-12-03 10-56-02.402/ Sankore Document 2016-04-26 11-39-09.585/ Sankore Document 2016-11-21 09-13-38.603/ Sankore Document 2017-04-07 14-16-53.749/
Sankore Document 2015-09-15 13-50-44.113/ Sankore Document 2015-12-07 10-36-28.512/ Sankore Document 2016-04-26 13-58-05.873/ Sankore Document 2016-11-21 10-54-31.785/ Sankore Document 2017-04-10 08-12-52.757/
Sankore Document 2015-09-17 08-34-41.217/ Sankore Document 2015-12-07 11-17-14.182/ Sankore Document 2016-05-02 09-29-32.813/ Sankore Document 2016-11-25 07-59-17.829/ Sankore Document 2017-05-02 11-01-18.322/
Sankore Document 2015-09-17 09-11-27.427/ Sankore Document 2015-12-08 08-31-40.232/ Sankore Document 2016-05-09 09-05-31.888/ Sankore Document 2016-11-25 10-11-54.460/ Sankore Document 2017-05-05 08-03-04.472/
Sankore Document 2015-09-17 09-13-25.245/ Sankore Document 2015-12-15 08-52-34.976/ Sankore Document 2016-05-10 08-37-21.178/ Sankore Document 2016-11-25 13-31-45.571/ Sankore Document 2017-05-11 16-32-54.364/
Sankore Document 2015-09-22 08-22-31.518/ Sankore Document 2015-12-15 13-52-20.139/
et je voudrais renommer "Sankore" par "OpenBoard" en gardant bien les espaces etc.
Quelqu'un pourrait me montrer comment obtenir ce résultat sur ces dossiers ?
Merci :)
# Pas très lisible
Posté par Sacha Trémoureux (site web personnel) . Évalué à 2.
Bonjour le vieux,
Tu peux afficher ça dans une balise de code, et peut-être un tree ça serait plus lisible. Là ça pique un peu.
# rename
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 7.
Le listing est completement illisible, mais je ne prend pas trop de risque avec la solution:
sous debian "rename" est fourni dans les paquets "perl" et "rename"
[^] # Re: rename
Posté par SauronDeMordor (site web personnel) . Évalué à 1.
je ne connaissais pas rename., sympa
plus facile à retenir que ce que j ai écrit. lol
[^] # Re: rename
Posté par Moonz . Évalué à 2. Dernière modification le 05 septembre 2017 à 14:31.
Gaffe par contre, c’est spécifique Debian. Sur ArchLinux (et il me semble Fedora) la commande
rename
pointe sur le rename de util-linux. Pour le rename de perl, c’estperl-rename
.# sed/awk is your friend
Posté par SauronDeMordor (site web personnel) . Évalué à 1.
en mode crade ca donnerais cela a tester avant bien sur, ou avec backup en cas de misère.
exemple avec awk car plus lisible, meme si je fais plutot avec sed ce genre de manip
si tu es content tu resultat tu ajoute "| sh", ce qui donne
avec sed ça donnerais plutot ca
et pareil, si tu es content, tu ajoute "|sh"
[^] # Re: sed/awk is your friend
Posté par freem . Évalué à 3.
Euh… utiliser ls pour donner des noms de fichiers à manger à un autre programme? C'est dangereux.
Perso, vu l'usage, je ferai simple, une p'tite boucle for:
Mais c'est vrai: c'est pas un one-liner. En one liner, j'imagine que je bricolerais avec find… soit en remplaçant ton ls par find, soit en utilisant le parametre -exec de find, mais ça serait probablement un chouÏa plus compliqué.
[^] # Re: sed/awk is your friend
Posté par Michaël (site web personnel) . Évalué à 2. Dernière modification le 05 septembre 2017 à 16:13.
En général tu as raison, mais là ce n'est pas dangereux parceque la liste des fichiers à traiter est connue. Mais ce n'est jamais inutile de rappeler cette dangerosité potentielle. Par contre faire un
echo $i | mon_filtre
pour réécrire les noms un par un un, c'est un peu pataud.(Sinon on peut utiliser
\042
– ou plus approprié ici\047
– pour éviter de faire une thèse en escapologie de la double astropophe.)[^] # Re: sed/awk is your friend
Posté par aiolos . Évalué à 1.
Et
ça le ferait pas ?
[^] # Re: sed/awk is your friend
Posté par freem . Évalué à 3.
Si… mais bon, dans ce cas on peut transformer le kernel linux en one-liner :)
Perso, je considere que quand il y a un caractere de fin d'instruction (; pour le shell ou le C) ce n'est plus un one-liner.
[^] # Re: sed/awk is your friend
Posté par SauronDeMordor (site web personnel) . Évalué à 1. Dernière modification le 08 septembre 2017 à 14:03.
en fait pour le ls il y a l option -Q qui permet de mettre des " automatiquement pour protéger.
c est la raison pour laquelle je prefere ls plutot que echo ici.
[^] # Re: sed/awk is your friend
Posté par NeoX . Évalué à 1.
tu peux en faire un one-line en mettant des ; à la place de retour à la ligne :p
# Si debian : en utilisant "find" et "rename"
Posté par MicP . Évalué à 2. Dernière modification le 05 septembre 2017 à 14:53.
find . -depth -type d -execdir rename 's/Sankore/OpenBoard/' {} \;
[^] # Re: Si debian : en utilisant "find" et "rename"
Posté par Michaël (site web personnel) . Évalué à 2.
Pourquoi ne pas faire un simple
rename 's/Sankore/OpenBoard/' *Sankore*
? Dans quel paquet est-ce qu'on trouve la commanderename
?[^] # Re: Si debian : en utilisant "find" et "rename"
Posté par MicP . Évalué à 3. Dernière modification le 06 septembre 2017 à 11:19.
Parce que s'il doit renommer les répertoires en utilisant une liste
il doit commencer par la profondeur d'arborescence la plus éloignée
autrement dit par le dernier sous-répertoire de la branche
(d'où l'utilisation de l'option
-depth
de la commandefind
)Sur mon système
debian stretch
:Donc, sur mon système
debian stretch
la commande
rename
est un script provenant du paquetagerename
[^] # Précision :
Posté par MicP . Évalué à 1.
Je précise que par copié/collé du bloc de texte fournit par djibb
Cela donne :
[^] # Re: Précision :
Posté par Michaël (site web personnel) . Évalué à 2.
D'où vient cette hiérarchie? J'ai regardé le markdown du message original et je n'ai vu qu'une liste plate.
[^] # Re: Précision :
Posté par MicP . Évalué à 1.
J'y vois une liste de 15 lignes.
Sacha Trémoureux avait d'ailleurs proposé un d'utiliser un
tree
ce qui aurait levé toute ambiguïté.
[^] # Re: Précision :
Posté par Kerro . Évalué à 2.
Comment fais-tu pour visualiser le markdown d'un message ?
[^] # Re: Précision :
Posté par Michaël (site web personnel) . Évalué à 2.
Après chaque post il y a deux boutons markdown et epub. Sinon l'URL se déduit en ajoutant
.md
à celle du post. Par exemple http://linuxfr.org/forums/linux-general/posts/1-ligne-de-shell-pour-les-changer-tous.mdSuivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.