如何在shell上显示数据树?

时间:2017-09-22 02:14:14

标签: shell treeview

Unix以简单的程序而闻名,它可以做一件事并且可以在管道中使用。是否有任何Linux程序接收具有树结构的数据并将其作为ASCII树视图显示在shell中?甚至可以使用tab来缩小显示中的子节点。

此类显示的示例包括pstree(用于进程)或树(用于目录)。

1 个答案:

答案 0 :(得分:0)

我不知道任何能为你做这件事的程序,但你仍然可以使用sed。

例如,这适用于目录:

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

由此您无法创建脚本tree.sh,该脚本将路径显示为参数并将该脚本设置为别名。

<强> tree.sh

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

你可以从pstree的输出中做同样的事情。