全部。我正在寻找一种快速而粗略的方法来生成一些目录的图表,这些目录的层次结构几乎相同,但不完全相同,这样我就可以在会议上展示它们,我们可以决定我们最喜欢哪种风格。我对“叶”节点不感兴趣,只对目录感兴趣。
问题是:我不想弄乱 X。这是一个我完全通过 SSH 处理的服务器系统。所以我在寻找可以进行 ASCII 布局的东西,也许使用简单的竖线和连字符来表示行或诸如此类的东西。
有人知道这样的实用程序吗?我确信我可以自己写一些东西,但这是一个非常繁琐的小项目,需要处理间距和布局等;我真的很想发现有人为我做了这件事。唉,谷歌似乎不知道这样的事情……或者如果它知道,它隐藏在大量标准的通用 Unix 文件层次结构的出色视觉解释之下。谢谢!
答案1
我会用tree
。
$ 树 -d /usr|head -n 12 /usr |-- X11R6 | `--lib |`--X11 | `-- 狡猾 |-- 垃圾箱 | `-- X11 -> 。 |-- 游戏 |-- i586-mingw32msvc | |-- 垃圾箱 | |-- 包括 | | |-- GL
答案2
如果您没有树,您可以使用这个linux / unix命令:
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
你也可以编写一个 shell 脚本来查看详情请见此处。
对上述命令的解释:
ls -R
列出所有目录、子目录、
说明
ls -R
递归列出所有文件和目录
前任:
./sys/devices/platform/ag71xx.0/net/eth0:
addr_assign_type device iflink speed
./sys/devices/platform/ag71xx.0/net/eth0/queues:
tx-0
grep ":$"
仅过滤行结束之前的文件:
,因此保留类似的内容。
./sys/devices/platform/ag71xx.0/net/eth0:
./sys/devices/platform/ag71xx.0/net/eth0/queues:
-e
然后使用开关传递一系列多个命令到sed
's/:$//'
剥去所有的痕迹:
's/[^-][^\/]*\//--/g'
只留下介于两者之间的内容/
-
,并将每个内容替换为--
其余两个命令添加几个空格和一个|
结果如下:
|-----------eth0
|-------------queues