Apr 08
Parce qu’il me faut toujours 2 heures pour le retrouver, cette fois je le note
find . -type f -regex ".*\ .*" \
-exec bash -c 'echo "$1";mv "$1" "${1// /-}"' '{}' '{}' \;
Ceci vous permet de trouver et de renommer un fichier avec un espace.
Ici on remplace l’espace par un tiret.



Publié le 09/04/2008 à 8:24
Y’a beaucoup plus simple :
find . -exec rename “s/\s/_/” {} \;
Publié le 16/04/2008 à 22:16
A quand un “snippets repository” digne de ce nom ?
Publié le 24/04/2008 à 9:11
Sympa ce script. Je devrais vraiment me créer une librairie de scripts de ce genre, y’a toujours un moment ou on en à besoin!
Publié le 23/11/2009 à 15:08
Le problème avec cette commande, est lorsqu’on a une arborescence de répertoires, et que ces répertoires ont AUSSI des espaces dans les noms, une fois qu’il a renommé le répertoire, impossible pour lui de continuer a le parcourir !!!
En relançant plusieurs la commande (find . -exec rename ‘y/ /_/’ {} \;) on finit par y arriver…il n’y a plus d’erreur…(dépends de la profondeur de l’arbo)
Publié le 25/11/2009 à 18:43
d’où l’avantage de mettre l’option -type f pour ne toucher qu’aux fichiers (et pas aux répertoires)