2017-09-22 3 views
0

Unixは、1つのことを行い、パイプラインで使用できる単純なプログラムで知られています。ツリー構造を持ち、それをASCIIツリービューとしてシェルに表示するデータを取り込むLinuxプログラムはありますか?これは、表示された子ノードをインデントするためにタブを使用するのと同じくらい単純なものでもあります。シェルでデータのツリーを表示する方法は?

このような表示の例は、pstree(プロセス用)またはtree(ディレクトリ用)です。

答えて

0

あなたのためにこれを行うプログラムはありませんが、sedを使用することはできます。

例えばこれは、ディレクトリのために動作します:あなたは、引数として表示するようにパスを取り、別名として、そのスクリプトを設定するスクリプトtree.shを作成することはできません。このことから

ls -R $path | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' 

。あなたはおそらくpstreeの出力から同じことを行うことができます

tree.sh

#!/bin/sh 
while [ $# -ne 0 ]; do 
     ls -R $1 | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' 
     shift 
done 

関連する問題