Quelqu'un peut-il recommander une solution sûre pour remplacer récursivement les espaces par des caractères de soulignement dans les noms de fichiers et de répertoires à partir d'un répertoire racine donné ? Par exemple :
$ tree
.
|-- a dir
| `-- file with spaces.txt
`-- b dir
|-- another file with spaces.txt
`-- yet another file with spaces.pdf
devient :
$ tree
.
|-- a_dir
| `-- file_with_spaces.txt
`-- b_dir
|-- another_file_with_spaces.txt
`-- yet_another_file_with_spaces.pdf
10 votes
Que voulez-vous qu'il se passe s'il y a un fichier appelé
foo bar
et un autre fichier appeléfoo_bar
dans le même répertoire ?0 votes
Bonne question. Je ne voudrais pas écraser les fichiers existants ou perdre des données. Il devrait le laisser inchangé, idéalement en imprimant un avertissement, mais c'est probablement trop demander.