パス名のリストをツリー形式に変換するためのスクリプトがいくつかあります:
- 私自身のtreeify.pl
- ロイック・ダミアンによるtreeify.rs
- ハクリルによるtreeify.py
これらのスクリプトはすべて tar -tf … で動作します 出力;例:
$ tar -tf foo.tar | treeify
foo
├─bar
│ ├─myfile.txt
│ └─yourfile.txt
└─baz
└─qux
└─hisfile.txt
また:
$ 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
コメントするのに十分な評判はありませんが、これはuser1686の回答への単なる補遺です。彼のスクリプトは確かにうまく機能しますが、tree の間にダウンロードする必要があります。 実際にこれをネイティブに実行できます:
$ tar tf foo.tar | tree --fromfile .
.
└── foo
├── bar
│ ├── myfile.txt
│ └── yourfile.txt
└── baz
└── qux
└── hisfile.txt
4 directories, 3 files
ほとんどのツールとは異なり、tree に注意してください。 ドット . を使用 ダッシュ - ではありません 標準入力から入力を読み取る:
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.
これにより、ワイルドカードなどの典型的なツリー関数を使用できますが、サイズは明らかに表示できず、レベル引数 (-L ) も動作しないようです...