パス名のリストをツリー形式に変換するためのスクリプトがいくつかあります:
- 私自身の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
) も動作しないようです...