[gull] Commande pour supprimer un espace final dans des noms de dossiers

Samuel Chenal samuel.chenal at mailoo.org
Wed Feb 10 10:47:31 CET 2016


Hello !

Nous sommes en phase de migration Mac > Windows chez un client. Le
serveur Mac passe sous Debian et les postes clients Mac passent sous
Windows.

Le serveur de fichiers contient toute une arborescence. Nous avons
remarqué que certains dossiers étaient "hachés" dans l'explorateur
Windows alors que sous Mac (ou linux), on les voyait en clair :

CAQKCF~K au lieu de CarneiroModesto_RME

On s'est rendu compte que ces dossiers avaient un espace à la fin. Mac
le cache, linux le montre mais le gère bien et Windows hache le nom du
dossier...

Le but était de trouver une commande pour virer ce dernier caractère. La
commande :

find . -type d -iname "* "

... m'a donné plusieurs centaines de dossiers dans ce cas.

J'ai construit la commande suivante :

find . -type d -iname "* " -exec rename -v 's/\ $//g' {} \;

... qui semble bien fonctionner. Il faut cependant la lancer plusieurs fois.

En effet, j'ai l'impression que le find s'exécute pour toute
l'arborescence et ensuite, il lance le -exec. Et comme certains dossiers
sont modifiés par le rename, le -exec ne peut plus accéder aux
sous-dossiers fautifs pour les renommer.

C'est effectivement comme ça que fonctionne le find ? Y aurait-il un
autre méthode plus efficace ?

Merci d'avance pour vos avis.

a+

Samuel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://forum.linux-gull.ch/pipermail/gull/attachments/20160210/2159274a/attachment.sig>


More information about the gull mailing list