Transformer espaces en _

Bonjour,

Sur mes disques durs, de nombreux fichiers comportent des espaces : par exemple.
J’en ai partout !
Y-a-t-il, via la ligne de commande, un moyen de remettre un ‘_’ là où il y a un vide et tout cela en une seule fois si possible ? scan du disque dur à la recherche des fichiers comportant des espaces et correction en suite.

Merci

Bonjour,
Sous Linux la commande “rename” te permet de faire cela

Dans ton cas soit tu veux renommer que dans le dossier courant :

Ou alors dans le dossier courant avec récursivité (dans tout les sous-dossiers)

cdt

man sed

:023

Ou bien utiliser [mono]detox[/mono], mais ça fait plus que remplacer les espaces.

Yop.
Sans prise de tête avec une GUI sympathique voici [mono]pyrenamer[/mono] !!!

Pour les renommages en masse il fait du bon boulot.

Detox : énorme ; :041

detox -r *

Place un _ dans tous les espaces des fichiers en récursif.
Donc si je me place à la racine de mon home, il scan tous les fichiers d’un coup !!

Les autres sont plus compliqués !

Merci quand même.

Il me faudrait maintenant un p’tit script avec tâche cron pour bien faire !

[quote=“toto69”]
Il me faudrait maintenant un p’tit script avec tâche cron pour bien faire ![/quote]
Du genre ça :[mono]crontab -e[/mono]

[quote=“toto69”]Detox : énorme ; :041

detox -r *

Place un _ dans tous les espaces des fichiers en récursif.
Donc si je me place à la racine de mon home, il scan tous les fichiers d’un coup !!

Les autres sont plus compliqués !

Merci quand même.

Il me faudrait maintenant un p’tit script avec tâche cron pour bien faire ![/quote]

Ce script n’a d’utilité que si et seulement si tu n’as pas compris qu’il ne fallait pas nommer tes fichiers avec des espaces :slightly_smiling:

C’est vite arrivé tout de même !

Ensuite, va faire comprendre à un windowsien qu’il ne faut pas mettre d’espaces : chez lui,…çà marche !
Or, le tiret est une contrainte. Et une contrainte…bon courage !!

Enfin, c’est pas le temps que çà prend !!

Salut,

:023

toto69, de mémoire, il me semble bien t’avoir déjà soumis ce lien … ->>> 1.2.1. Bases concernant les fichiers UNIX

[quote=“Référence Debian”]Note

Bien que vous puissiez utiliser la plupart des lettres ou symboles dans un nom de fichier, c’est en pratique un mauvaise idée de le faire.

Il est préférable d’éviter tous les caractères qui ont une signification particulière sur la ligne de commandes, comme les espaces, tabulations, sauts de ligne, et autres caractères spéciaux : { } ( ) [ ] ’ ` " \ / > < | ; ! # & ^ * % @ $.

Si vous voulez séparer des mots dans un nom, de bons choix sont le point, le tiret et le tiret souligné.

Vous pouvez aussi mettre une majuscule en tête de chaque mot « CommeCeci ».

Les utilisateurs Linux expérimentés on tendance à aussi à éviter les espaces dans les noms de fichiers.[/quote]

:whistle:

Sans créer un séisme, je voulais simplement souligner que je ne suis pas tout seul au monde :laughing:
Dans ma petite famille, je ne suis pas le seul à utiliser l’ordi. Il me faut donc des moyens simples pour gérer des choses dont je ne suis pas forcément responsable. :unamused:

Merci pour les infos et les aides.

Je ferme le post car j’ai résolu mon problème.

Question d’usages.

J’utilise exclusivement Debian depuis maintenant cinq ou six ans, certaines parties de mon arborescence ne contiennent pas une seule espace, alors que d’autres en sont parsemées.
Et bien je n’ai jamais eu plus de problèmes avec les fichiers dont le nom contient des espaces qu’avec ceux dont le nom n’en contient pas !

(en cherchant bien je dois même pouvoir trouver des répertoires dont le nom contient un mélange d’espaces, espaces insécables et espaces insécables fines, sans pour autant poser de problème lors de la navigation en ligne de commande)