使用“tree”,如何在子目录之前输出文件?

使用“tree”,如何在子目录之前输出文件?

我尝试组合--dirsfirst-r,但目录仍然显示在顶部,只是按相反的字母顺序排列。似乎-r是首先应用的,手册页也指出了这一点。

关于如何对输出进行排序tree以便在文件之后列出子目录的任何其他想法?

答案1

如果您来这里寻找这个答案(就像我一样),请使用:

tree --filesfirst

选项--filesfirst已添加到版本2.0.0(2021 年 12 月 21 日)

答案2

如果您使用tree -r,则反转所有行,例如,使用tac并翻译框字符,它看起来很合理:

#!/bin/sh
tree --dirsfirst -r | tac | sed -e 's/\d226\d148\d148/\d226\d148\d140/'

# 0x2514 is lower-left-corner,
# 0x250c is upper-left-corner
# 0x2514: 9492 022424 0x2514 text "%\024" utf8 \342\224\224
# 0x250c: 9484 022414 0x250c text "%\014" utf8 \342\224\214

我使用字符标识符获得了 Unicode 值类似 vi 的 emacs,以及使用我的 UTF-8 等效项hex公用事业。

这是我的目录的末尾/etc,用于说明:

├── xdg
│   ┌── catalog
│   ├── catalog.old
│   ├── docbook-xml.xml
│   ├── docbook-xml.xml.old
│   ├── docbook-xsl.xml
│   ├── docbook-xsl.xml.old
│   ├── rarian-compat.xml
│   ├── sgml-data.xml
│   ├── sgml-data.xml.old
│   ├── xml-core.xml
│   ├── xml-core.xml.old
│   │   ┌── CatalogManager.properties
│   ├── resolver
├── xml
│   ┌── includes
│   ├── xpdfrc
├── xpdf
│   ┌── newuser.zshrc.recommended
│   ├── zlogin
│   ├── zlogout
│   ├── zprofile
│   ├── zshenv
│   ├── zshrc
├── zsh
.

以供参考:

UTF-8 编码表和代码点 U+2500 到 U+25FF 的 Unicode 字符页

相关内容