Es gibt mehrere Skripte, um eine Liste von Pfadnamen in Baumform umzuwandeln:
- meine eigene treeify.pl
- treeify.rs von Loïc Damien
- treeify.py von Hakril
Alle diese Skripte funktionieren mit tar -tf …
Ausgang; zum Beispiel:
$ tar -tf foo.tar | treeify foo ├─bar │ ├─myfile.txt │ └─yourfile.txt └─baz └─qux └─hisfile.txt
Auch:
$ bsdtar -tf foo.zip | treeify
$ find /dir -size +5 | treeify
$ git ls-files | treeify
$ pacman -Qql foopkg | treeify
$ unrar vb foo.rar | treeify
$ zipinfo -1 foo.zip | treeify
$ gsettings list-schemas | treeify -s. -f
$ qdbus | sed -n "s/^ //p" | treeify -s. -f
$ ldns-walk netbsd.org | awk '{print $1}' | treeify -s. -f -R
Dies ist nur ein Nachtrag zur Antwort von user1686, obwohl ich nicht genug Ruf habe, um einen Kommentar abzugeben. Obwohl seine Skripte ihre Arbeit sicherlich gut machen, müssen sie während tree
heruntergeladen werden kann dies tatsächlich nativ tun:
$ tar tf foo.tar | tree --fromfile .
.
└── foo
├── bar
│ ├── myfile.txt
│ └── yourfile.txt
└── baz
└── qux
└── hisfile.txt
4 directories, 3 files
Beachten Sie, dass im Gegensatz zu den meisten Tools tree
verwendet einen Punkt .
und kein Bindestrich -
um Eingaben von stdin zu lesen:
INPUT OPTIONS
--fromfile
Reads a directory listing from a file rather than the file-system.
Paths provided on the command line are files to read from rather than directories to search.
The dot (.) directory indicates that tree should read paths from standard input.
Dadurch können die typischen Baumfunktionen wie Wildcards verwendet werden, obwohl Größen offensichtlich nicht angezeigt werden können, und das Ebenenargument (-L
) geht anscheinend auch nicht...