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

2016-02-10 Thread Samuel Chenal
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

2016-02-10 Thread Guy Maurer
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

2016-02-10 Thread Michael Parchet
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

2016-02-10 Thread Michael Parchet

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

2016-02-10 Thread felix
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

2016-02-10 Thread Samuel Chenal
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

2016-02-10 Thread Cyril Rouiller
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

2016-02-10 Thread felix
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

2016-02-10 Thread Samuel Chenal
-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

2016-02-10 Thread Samuel Chenal
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