[gull] Commande pour supprimer un espace final dans des noms de dossiers
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 signature.asc Description: OpenPGP digital signature ___ gull mailing list gull@forum.linux-gull.ch http://forum.linux-gull.ch/mailman/listinfo/gull
Re: [gull] Commande pour supprimer un espace final dans des noms de dossiers
Bonjour, Avez-vous essayer les options -depth (qui process les contenu des dir avant la dir) ou -prune ? Guy Maurer Le 10. 02. 16 10:47, Samuel Chenal a écrit : > 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 > > > > ___ > gull mailing list > gull@forum.linux-gull.ch > http://forum.linux-gull.ch/mailman/listinfo/gull -- MAURER DATA Sarl Guy Maurer, Dr physicien Ch. des Sapins 16 (Renumerotation de la rue) CH-1170 Aubonne Phone ++41 (0)21 831 0300, Fax (hors service) ___ gull mailing list gull@forum.linux-gull.ch http://forum.linux-gull.ch/mailman/listinfo/gull
Re: [gull] Commande pour supprimer un espace final dans des noms de dossiers
Bonjour, Vous pouvez essayer d'installer gnuwin32 ou cygwin pour utiliser les commande Linux sur Windows Gnuwin32 http://gnuwin32.sourceforge.net/ Cygwin : https://cygwin.com/ J'espère que vous trouverez une solution Bon test Avec meilleures salutations mparchet > Le 10 févr. 2016 à 11:35, Guy Maurer a écrit : > > Bonjour, > > Avez-vous essayer les options -depth (qui process les contenu des dir > avant la dir) ou -prune ? > > Guy Maurer > > Le 10. 02. 16 10:47, Samuel Chenal a écrit : >> 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 >> >> >> >> ___ >> gull mailing list >> gull@forum.linux-gull.ch >> http://forum.linux-gull.ch/mailman/listinfo/gull > > > -- > MAURER DATA Sarl > Guy Maurer, Dr physicien > Ch. des Sapins 16 (Renumerotation de la rue) > CH-1170 Aubonne > Phone ++41 (0)21 831 0300, Fax (hors service) > ___ > gull mailing list > gull@forum.linux-gull.ch > http://forum.linux-gull.ch/mailman/listinfo/gull ___ gull mailing list gull@forum.linux-gull.ch http://forum.linux-gull.ch/mailman/listinfo/gull
Re: [gull] Commande pour supprimer un espace final dans des noms de dossiers
Bonjour, Voici les infos complémentaires sur la façon de mettre les commandes Linux sur Windows. http://blogmotion.fr/systeme/gow-linux-11445 Bonne lecture Avec mes meilleures salutations mparchet > Le 10 févr. 2016 à 11:35, Guy Maurer a écrit : > > Bonjour, > > Avez-vous essayer les options -depth (qui process les contenu des dir > avant la dir) ou -prune ? > > Guy Maurer > > Le 10. 02. 16 10:47, Samuel Chenal a écrit : >> 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 >> >> >> >> ___ >> gull mailing list >> gull@forum.linux-gull.ch >> http://forum.linux-gull.ch/mailman/listinfo/gull > > > -- > MAURER DATA Sarl > Guy Maurer, Dr physicien > Ch. des Sapins 16 (Renumerotation de la rue) > CH-1170 Aubonne > Phone ++41 (0)21 831 0300, Fax (hors service) > ___ > gull mailing list > gull@forum.linux-gull.ch > http://forum.linux-gull.ch/mailman/listinfo/gull ___ gull mailing list gull@forum.linux-gull.ch http://forum.linux-gull.ch/mailman/listinfo/gull
Re: [gull] Commande pour supprimer un espace final dans des noms de dossiers
Bonjour, On Wed, Feb 10, 2016 at 10:47:31AM +0100, Samuel Chenal wrote: > 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 juste! Le truc c'est que find te présente l'arborescence de la manière suivante: / /aaa/ /aaa/bbb /aaa/ccc /aaa/ddd/ /aaa/ddd/eee Et donc, par ordre, su tu renomme ddd avant de renommer eee, la commande ne trouvera plus eee, puisqu'il n'est plus sous ddd que tu as déjà renommé. En fait, je pense que ``tac'' devrait le faire genre: find ... -print | tac | tr \\n \\0 | xargs -0 rename 's/ $//' A paufiner, tester! Bonne chance! ( Sinon: flèche vers le haut + return, tant que ça dure ;-) -- Félix Hauri -- http://www.f-hauri.ch ___ gull mailing list gull@forum.linux-gull.ch http://forum.linux-gull.ch/mailman/listinfo/gull
Re: [gull] Commande pour supprimer un espace final dans des noms de dossiers
Salut Félix ! Le 10. 02. 16 15:58, felix a écrit : > Bonjour, [...] > C'est juste! > > Le truc c'est que find te présente l'arborescence de la manière suivante: > > / > /aaa/ > /aaa/bbb > /aaa/ccc > /aaa/ddd/ > /aaa/ddd/eee Ok, c'est effectivement comme ça que j'avais compris la chose. > Et donc, par ordre, su tu renomme ddd avant de renommer eee, la > commande ne trouvera plus eee, puisqu'il n'est plus sous ddd que > tu as déjà renommé. > > En fait, je pense que ``tac'' devrait le faire Fichtre, je ne le connaissais pas celui-ci... Je prends note ! > genre: > > > find ... -print | tac | tr \\n \\0 | xargs -0 rename 's/ $//' Je vais tester tout ça. Merci bien ! > ( Sinon: flèche vers le haut + return, tant que ça dure ;-) Oui, c'est ce que j'ai fait, finalement ! ;-) a+ Samuel signature.asc Description: OpenPGP digital signature ___ gull mailing list gull@forum.linux-gull.ch http://forum.linux-gull.ch/mailman/listinfo/gull
Re: [gull] Commande pour supprimer un espace final dans des noms de dossiers
Bonjour, Le Wed, 10 Feb 2016 15:58:52 +0100, felix a écrit : > Le truc c'est que find te présente l'arborescence de la manière > suivante: Oui, sauf que ``man find`` nous indique l'option ``-dept`` qui permet justement de traiter le contenu d'un répertoire avant d'agir sur le répertoire en lui-même. C'est une option vraiment très très intéressante! >> "-depth Process each directory's contents before the directory >> itself. The -delete action also implies -depth." Maintenant, dommage que le man d'une commande si utile et utilisée ne soit pas en français... Je n'ai malheureusement pas les compétences pour la traduire. Bonne fin de semaine. ___ gull mailing list gull@forum.linux-gull.ch http://forum.linux-gull.ch/mailman/listinfo/gull
Re: [gull] Commande pour supprimer un espace final dans des noms de dossiers
Bonjour, On Wed, Feb 10, 2016 at 07:34:55PM +0100, Cyril Rouiller wrote: > Oui, sauf que ``man find`` nous indique l'option ``-dept`` qui permet > justement de traiter le contenu d'un répertoire avant d'agir sur le > répertoire en lui-même. > > C'est une option vraiment très très intéressante! > > >> "-depth Process each directory's contents before the directory > >> itself. The -delete action also implies -depth." Juste! Ce switch m'est sorti de la tête (car trop rarement pratiqué) Bravo Cyril et merci! > Maintenant, dommage que le man d'une commande si utile et utilisée ne > soit pas en français... Je n'ai malheureusement pas les compétences > pour la traduire. Je pense que si tu as les compétences pour la lire et la comprendre *et* que tu est compétant pour rédiger en frencè, alors tu peux te lancer... ... si tu en as le courrage et le temps! Si ton travail est corrigé, il aurra au moins servi de point de départ. (Je n'avais même pas relevé que cette page est encore et toujours en francais... Elle a probablement été traduite par le passé mais la commande à évolué de trop pour conserver une traduction interrompue.) -- Félix Hauri -- http://www.f-hauri.ch ___ gull mailing list gull@forum.linux-gull.ch http://forum.linux-gull.ch/mailman/listinfo/gull
Re: [gull] Commande pour supprimer un espace final dans des noms de dossiers
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Bonsoir ! Le 10. 02. 16 12:34, Michael Parchet a écrit : > Bonjour, > > Vous pouvez essayer d'installer gnuwin32 ou cygwin pour utiliser > les commande Linux sur Windows > > Gnuwin32 > > http://gnuwin32.sourceforge.net/ > > Cygwin : > > https://cygwin.com/ > > J'espère que vous trouverez une solution [...] En fait, comme on est en phase de migration, j'ai un montage du serveur de fichiers sur le serveur Debian (avec Samba) et les clients Windows viennent s'y connecter. Donc, j'imaginais faire la manipulation directement dessus. Mais la question est bonne. J'avais testé PyRenamer pour automatiser un changement sur les noms de dossiers en graphique. Et j'ai fait un montage samba sur un client GNU/Linux pour voir l'arborescence. Mais samba semble bien reproduire les limitations de Windows et affichait les dossiers fautifs également hachés. J'imagine donc que les outils ci-dessus (Gnuwin32 et Cygwin) auraient eu le même problème. Je devais régler le problème soit sur le Mac, soit sur le serveur Debian, les deux environnements qui me montraient les noms de dossiers en clair, avec l'espace à la fin. Sur ces entre-faits, j'ai eu un contact avec Cédric Briner qui me dit avoir eu des expériences "compliquées" en matière de migration de données d'un serveur Mac vers un environnement "Samba". Il semble en effet que le système d'accès au filesystem AFS soit bien plus évolué que CIFS, notamment en autorisant bien plus de caractères spéciaux / ésotériques. Il m'a d'ailleurs conseillé de faire la migration de données du Mac vers le Debian via un Mac et une connexion AFS et non depuis le serveur Debian et un montage CIFS sur le serveur Mac. Vaste sujet... ;-) Un article glané au passage... http://www.helios.de/web/FR/news/AFP_vs_SMB-NFS.html Vous avez aussi des expériences de migration de données entre un serveur Mac et un Samba sur Debian ? a+ Samuel -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBAgAGBQJWu7KFAAoJELKicmlOAFE2OSIQALdEb4tlHsdZ+lyHQefOd4Kw 7IO88H4Y+R73nmw1lTq5rCIVfsxYI3BQ2mubC+Yh8/Ue3nrVMXJ3+98s4520g0m2 chcj7zXX+gSy4JPY8N9Pnu49aQUmRyA5O7A+2wC2h0rLJ5shbTOp4PG3RX4TqVJw 9mh7VJPsLcAl+OZ6Mfp+OH9fk9QFbTsKTr0fZOEsNLFBQwYPOu/1rSISGKj7eECG p6FvKkN+qOkGwVDAzaeBDShEqnLPVpexVJlA4IFmDeQdC12dg7EU63wvzA/tWAFi V2OT6oo3G8qkHvHpnDJZ5eJrcSZft/PDcjfkVi5389SN2RZeNTQPwbB81rcmZbxq gGsXh2bOXxc3V/2r3AXeypqK70bSwXEyUw2sMftQHfw6i83sdzA789RFZ6xYOxkA J9nkyo1/u5F5q+YKBBhwAFGSh13pg/zcxYhRyPOkqUG/fFhbQkdViDhcrVtB9GzV rxPE+po9xWDZGDafD9rUwcW8IKIde0Pb3CIQxh0usqtjGLmtKPI2hjP9UsxqtMH+ cQIkN/hdMiCmVFTkID7xePIhxATHabm4pCylAjE0/gMFT7IqnfoFXwUyaE7KFyd4 kiip1aDTifv3ZL36jb+Tj4kox1zlOBUsMQHj+cKAdMhxXcSt6yCwnXk70VJ5GCTG yjzsy+Xjsp6lO4ExJaLY =7dvf -END PGP SIGNATURE- ___ gull mailing list gull@forum.linux-gull.ch http://forum.linux-gull.ch/mailman/listinfo/gull
Re: [gull] Commande pour supprimer un espace final dans des noms de dossiers
Salut Cyril, Le 10. 02. 16 19:34, Cyril Rouiller a écrit : > Bonjour, [...] > Oui, sauf que ``man find`` nous indique l'option ``-dept`` qui permet > justement de traiter le contenu d'un répertoire avant d'agir sur le > répertoire en lui-même. > > C'est une option vraiment très très intéressante! Merci pour le tuyau ! Je vais le creuser ! ;-) a+ Samuel signature.asc Description: OpenPGP digital signature ___ gull mailing list gull@forum.linux-gull.ch http://forum.linux-gull.ch/mailman/listinfo/gull