seth: (ms) tree for linux

Beitrag lesen

gudn tach!

kurz:
1. wie fuehrt man in einem linux-cli automatisch so viele pipes hintereinander aus wie die hoechste unterverzeichnistiefe gross ist?
2. tree in windows ist X in linux. was ist X?

lang:

in microsoft-betriebssystemen gibt es ja den tollen tree-befehl, der einem ein verzeichnis samt unterverzeichnissen "grafisch aufbereitet" auspuckt.
beispielhafte ausgabe:

tree /a
C:.
+---autom4te.cache
+---conf
|   ---patterns
+---docs
+---m4
+---scripts
---src
    +---modules
    +---parsetpl
    +---perl
    |   ---Plugins
    |       ---Management
    ---swig
        +---CForum-Clientlib
        +---CForum-Configparser
        +---CForum-Template
        ---CForum-Validator

gibt es mit linux-board-mitteln (mir egal, wem sich bei diesem begriff die zehennaegel aufrollen) die moeglichkeit eine aehnliche ausgabe zu erhalten?

mein bisheriger ansatz sieht folgendermassen aus:

mit find kann man sich zumindest schon mal alle verzeichnisse samt unterverzeichnissen anzeigen lassen:
$ find . -type d
.
./autom4te.cache
./conf
./conf/patterns
./docs
./m4
./scripts
./src
./src/modules
./src/parsetpl
./src/perl
./src/perl/Plugins
./src/perl/Plugins/Management
./src/swig
./src/swig/CForum-Clientlib
./src/swig/CForum-Configparser
./src/swig/CForum-Template
./src/swig/CForum-Validator

mit sed koennte man diese ausgabe nun noch formatieren. ich bin allerdings nicht so der sed-held, bisher habe ich nur sowas erreicht:

$ find . -type d | sed "s~./[^/]*/~    ~"
.
./autom4te.cache
./conf
    patterns
./docs
./m4
./scripts
./src
    modules
    parsetpl
    perl
    perl/Plugins
    perl/Plugins/Management
    swig
    swig/CForum-Clientlib
    swig/CForum-Configparser
    swig/CForum-Template
    swig/CForum-Validator

und mit einem schritt mehr:

$ find . -type d | sed "s~./[^/]*/~    ~" | sed "s~\  [^ ][^/]*/~      ~"
.
./autom4te.cache
./conf
    patterns
./docs
./m4
./scripts
./src
    modules
    parsetpl
    perl
        Plugins
        Plugins/Management
    swig
        CForum-Clientlib
        CForum-Configparser
        CForum-Template
        CForum-Validator

sieht ja schon fast gut aus. aaaber an "Plugins/Management" wird deutlich, dass ich fuer jedes weitere verschachtelte unterverzeichnis ein mal mehr
| sed "s~\  [^ ][^/]*/~      ~"
anhaengen muesste, was es mir wiederum unmoeglich erscheinen laesst, einen alias tree anzulegen.

klaro, ich koennte mir einfach ein perl-script schreiben, das das gewuenschte tut. aber ich frage lieber erstmal, ob es da nicht einfachere moeglichkeiten gibt.

prost
seth