[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gulliver] tree


From BLAEVOET Stéphane <stephane dot blaevoet at wanadoo dot fr>
Subject Re: [gulliver] tree
Date Fri, 18 Jun 2004 12:50:24 +0200

David MENTRE a écrit :

nono <jean dot claude dot noel at tele2 dot fr> writes:



find . | sed 's/[^/]*\//| /g;s/| *\([^| ]\)/+--- \1/'



Malin, j'aime beaucoup. :)




effectivement ça ne s'invente pas ;-)



Ben si :


"find . |" : lister tous les fichiers à partir du répertoire courant
(.) et l'envoyer sur l'entrée standard du processus
suivant


"sed" : exécuter le script suivant sur l'entrée standard


"s/[^/]*\//| /g" : remplacer (s) toutes les occurences de "[^/]*\/" par "| "


      "[^/]*\/" veut dire : toute séquence de caractère autre que slash
                ([^/]) et qui se termine par un slash (/)

Donc ce remplacement transforme chaque "xxxxxx/" en "| ".


"s/| *\([^| ]\)/+--- \1/" : remplacer (s) toutes les occurences de "| *\([^| ]\)" par "+--- \1"



"| *\([^| ]\)" veut dire : un pipe (|) suivit de zero ou plus
espaces ( *), puis un caractère autre qu'un pipe
ou un espace ([^| ]). Mémoriser cette dernière
partie (\(....\)).


      "+--- \1" veut dire : la chaine "+--- " puis la dernier machin
                            mémorisé (\1).


Donc cette partie remplace le dernier "| xxx" par "+--- xxx".



À vrai dire, je ne comprend pas trop la partie "\([^| ]\)". Elle semble mémoriser plusieurs caractères alors que je pensais qu'elle mémorise un seul caractère.

Amicalement,
d.


Merci à toi David d'avoir développé en language clair.... il y a quelque fois des gens qui ne sont pas toujours au fait de ce language.
Au fait, j'ai fais une installe de la Mdk 10 Community mais (entre autre) la fonction "gaucher" pour la souris n'est pas active !?! quelqu'un aurait la 10 Official.


Merci et à bientôt j'espère (mes horaires ne me permettent pas de venir à la MJC en ce moment)

Stef