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