Diese Frage ist eine verallgemeinerte Version der Output of ZipArchive() in tree format Frage.wandeln Sie einen `find` ähnlichen Ausgang in einen` Baum` wie Ausgang um
Kurz bevor ich Zeit vergeude auf das Schreiben dieses (* nix Kommandozeile) Dienstprogramm, wird es eine gute Idee, um herauszufinden, ob jemand bereits schrieb. Ich würde ein Dienstprogramm wie die als Standardeingabe eine Liste wie die von find(1)
und ausgeben wird etwas ähnlich dem von tree(1)
Eg zurück zu bekommen:
Eingang:
/fruit/apple/green
/fruit/apple/red
/fruit/apple/yellow
/fruit/banana/green
/fruit/banana/yellow
/fruit/orange/green
/fruit/orange/orange
/i_want_my_mommy
/person/men/bob
/person/men/david
/person/women/eve
Ausgabe
/
|-- fruit/
| |-- apple/
| | |-- green
| | |-- red
| | `-- yellow
| |-- banana/
| | |-- green
| | `-- yellow
| `-- orange/
| |-- green
| `-- orange
|-- i_want_my_mommy
`-- person/
|-- men/
| |-- bob
| `-- david
`-- women/
`-- eve
Verbrauch sollte etwas sein wie:
list2tree --delimiter="/" <Input> Output
Edit0: Es scheint, dass ich nicht klar über den Zweck dieser Übung war. Ich mag die Ausgabe von Baum, aber ich will es für beliebige Eingabe. Es ist möglicherweise nicht Teil eines Dateisystem-Namensbereichs.
Edit1: Fixed person
Verzweigung am Ausgang. Danke, @ Alnitak.
Die Ausgabe wird nicht zuverlässig sein, es sei denn, Sie arrangieren, dass die Eingabedatei nachstehende '/' auf Verzeichnisse haben. Ohne diesen kann der Filter den Unterschied zwischen einem leeren Verzeichnis und einer Datei nicht erkennen. p.s. Du hast den 'person'-Zweig des Baumes durcheinander gebracht ... – Alnitak
Was ist los mit' tree' (zB 'tree -F')? –
Um auf @ ring0 ausgezeichneten Kommentar zu klären: http://mama.indstate.edu/users/ice/tree/ – nc3b