我尝试组合--dirsfirst
和-r
,但目录仍然显示在顶部,只是按相反的字母顺序排列。似乎-r
是首先应用的,手册页也指出了这一点。
关于如何对输出进行排序tree
以便在文件之后列出子目录的任何其他想法?
答案1
答案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
.
以供参考: