Gibt es ein * nix-Tool oder eine Perl / PHP-Bibliothek, mit der Sie auf einfache Weise Verzeichnisbaumvisualisierungen erstellen können, die wie folgt aussehen?
www
|-- private
| |-- app
| | |-- php
| | | |-- classes
| | | +-- scripts
| | |-- settings
| | +-- sql
| +-- lib
| +-- ZendFramework-HEAD
+-- public
|-- css
|-- images
+-- scripts
tree
über die Befehlszeile eingeben.Antworten:
Wie wäre es mit diesem Beispiel aus Unix Tree / Linux Tree :
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
quelle
Dieser Oneliner ist ziemlich cool, ich würde empfehlen, den Baum util zu verwenden.
bash-3.2$ mkdir -p this/is/some/nested/example bash-3.2$ mkdir -p this/is/another/super/nested/example bash-3.2$ mkdir -p this/is/yet/another/example bash-3.2$ mkdir -p this/is/some/nested/other/example bash-3.2$ tree this this `-- is |-- another | `-- super | `-- nested | `-- example |-- some | `-- nested | |-- example | `-- other | `-- example `-- yet `-- another `-- example 13 directories, 0 files
quelle
brew install tree
tree --charset=ASCII
, so dass Baum oben Zeichen wie in user1116793 Vorbild produziert.Mir ist klar, dass diese Frage vor langer Zeit beantwortet wurde, aber ich habe gerade dieses Programm namens tree gefunden, das auch ziemlich cool ist.
quelle
tree
kann auch mit Homebrew installiert werden, für diejenigen, die von Macports weitergezogen sind.tree
über die Befehlszeile eingeben können. Sie müssen nichts installieren.Siehe die
RecursiveTreeIterator
Klasse$treeIterator = new RecursiveTreeIterator( new RecursiveDirectoryIterator('/path/to/dir'), RecursiveTreeIterator::SELF_FIRST); foreach($treeIterator as $val) echo $val, PHP_EOL;
Die Ausgabe wird ungefähr so aussehen (mit c: \ php auf meinem Computer):
quelle
exa mit --tree macht einen exzellenten Job:
exa --tree ~/tmp/public/ <dir> ├── aboutme │ └── index.html ├── atrecurse │ └── index.html ├── base.css ├── html5 │ ├── cat-and-mouse │ └── frantic │ ├── css │ │ └── main.css
quelle
exa -T -D
war wirklich sehr hilfreich. Vielen Dank!Keine Bibliothek an sich, aber dieses kleine Dienstprogramm ist praktisch, um schnelle Baumdiagramme zu erstellen, ohne den Browser zu verlassen: https://tree.nathanfriend.io/
Haftungsausschluss: Ich bin der Autor :).
quelle
Cooles Python-Skript dafür: http://code.activestate.com/recipes/217212/
quelle
[php] Zum Optimieren der Baumsymbole unter https://gist.github.com/hakre/3599532
<?php $path = './targetdir'; $unicodeTreePrefix = function(RecursiveTreeIterator $tree){ $prefixParts = [ RecursiveTreeIterator::PREFIX_LEFT => ' ', RecursiveTreeIterator::PREFIX_MID_HAS_NEXT => '+ ', RecursiveTreeIterator::PREFIX_END_HAS_NEXT => '├ ', RecursiveTreeIterator::PREFIX_END_LAST => '└ ' ]; foreach ($prefixParts as $part => $string) { $tree->setPrefixPart($part, $string); } }; $dir = new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::KEY_AS_FILENAME | RecursiveDirectoryIterator::SKIP_DOTS); $tree = new RecursiveTreeIterator($dir); $unicodeTreePrefix($tree); echo "<br><br>"; echo "[$path]<br>"; foreach ($tree as $filename => $line) { echo $tree->getPrefix(), $filename, "<br>"; }
Beispielausgabe
[./targetdir]<br> ├ aHR0cHM<br> ├ gtyyu.txt<br> ├ Screenshot at 2020-05-28 22-23-30.png<br> ├ 2004 - Synchrone<br> + ├ 09-Live for willyman.mp3<br> + ├ 04-Inabox.mp3<br> + ├ 05-Trashastan.mp3<br> + ├ 07-Nordick.mp3<br> + ├ 08-Rupture.mp3<br> + ├ Best of<br> + + ├ 08 - Civil War.mp3<br> + + ├ 09 - 14 Years.mp3<br> + + ├ 05 - Welcome To The Jungle.mp3<br> + + ├ 06 - Don't Cry.mp3<br> + + ├ 04 - Sweet Child O' Mine.mp3<br> + + ├ 02 - Paradise City.mp3<br> + + ├ 07 - Yesterdays.mp3<br> + + ├ 03 - Patience.mp3<br> + + ├ 01 - November Rain.mp3<br> + + └ 10 - Estranged.mp3<br> + ├ 03-Sarangui.mp3<br> + ├ 06-The test.mp3<br> + ├ 01-Sabradub.mp3<br> + └ 02-L'uzure.mp3<br> ├ Screenshot at 2020-02-11 12-31-52.png<br> ├ trur.txt<br> ├ .hidden<br> + ├ .sub_article.txt<br> + └ sub_article_in_hidden.txt<br> ├ gtuitre.txt<br> ├ aHR0cHM.txt<br> ├ CREEP.mp3<br> ├ subfolder<br> + └ sub_article.txt<br> ├ filtle.txt<br> ├ Best of<br> + ├ 08 - Civil War.mp3<br> + ├ 09 - 14 Years.mp3<br> + ├ 05 - Welcome To The Jungle.mp3<br> + ├ 06 - Don't Cry.mp3<br> + ├ 04 - Sweet Child O' Mine.mp3<br> + ├ 02 - Paradise City.mp3<br> + ├ 07 - Yesterdays.mp3<br> + ├ 03 - Patience.mp3<br> + ├ 01 - November Rain.mp3<br> + └ 10 - Estranged.mp3<br> ├ Screenshot at 2020-05-12 14-51-56.png<br> ├ of.txt<br> ├ highlight.css<br> └ Screenshot at 2020-06-10 19-28-51.png<br>
quelle
Dies hat sich in den letzten Jahren stark weiterentwickelt. Die Linux-Version in den Paketmanagern ist sauberer und farbiger:
Debian / Ubuntu:
CentOS / RHEL / OpenSUSE:
Wenn Sie ein umfangreiches Unterverzeichnis Ihrer
current_directory
Struktur haben und nur ein Beispiel dessen zeigen möchten, was die Struktur enthält, können Sie Folgendes tun:quelle
Schauen Sie sich App :: Asciio an
quelle