2009-07-27 9 views
0

Grâce à un bon article au http://murphymac.com/tree-command-for-mac/, j'ai mon arbre de commandes linux depuis longtemps perdu afin que je puisse voir l'arborescence complète avec une seule commande. Je l'ai mis en œuvre via une fonction dans mon .bash_profile comme ça ...commande d'arbre comme une regex, mais sans les fichiers cachés

function tree { 
find ${1:-.} -print | set -e "s;[^/]*/; ;g" 
} 

... mais ce que je voudrais est une version qui ne comprend pas les fichiers cachés, à savoir ceux qui commencent par point .

Je voudrais donc cette sortie ...

$tree Sites 
    .DS_Store 
    .localized 
    images 
     apache_pb.gif 
     gradient.jpg 
     macosxlogo.png 
     web_share.gif 
    index.html 

... pour devenir ...

$tree Sites 
    images 
     apache_pb.gif 
     gradient.jpg 
     macosxlogo.png 
     web_share.gif 
    index.html 
+0

L'objet de la question est mal écrit. Ou plutôt, il suppose une solution qui n'est pas de loin la meilleure. –

+0

@Daniel Etes-vous souvent un titre nazi? – dacracot

Répondre

2

Juste un peu de changement:

find ${1:-.} ! -name '.*' -print | set -e "s;[^/]*/; ;g" 

Le motif ! -name '.*'find ne correspond à aucun nom de fichier (ou nom de répertoire) commençant par un point.

+0

Nice. Je me suis coincé sur l'expression rationnelle, quand la solution était dans la recherche. – dacracot

Questions connexes