Usando 'tree', como faço para enviar arquivos antes de subdiretórios?

0

Eu tentei combinar --dirsfirst e -r , mas os diretórios ainda aparecem no topo, apenas em ordem alfabética inversa. Parece que -r é aplicado primeiro, o que também é indicado pelas man pages.

Alguma outra idéia de como eu iria classificar a saída de tree para que os subdiretórios fossem listados após os arquivos?

    
por joelostblom 13.11.2015 / 02:13

1 resposta

3

Se você usar tree -r , inverta todas as linhas, por exemplo, usando tac e traduza os caracteres de caixa que pareçam razoáveis:

#!/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 "%4" utf8 244
# 0x250c: 9484 022414 0x250c text "%4" utf8 244

Eu obtive o valor Unicode usando o identificador de caracteres em vi-like-emacs , e o UTF- 8 equivalentes usando meu utilitário hex .

Aqui está o final do meu diretório /etc , para ilustrar:

├── 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
.

Para referência:

Tabela de codificação UTF-8 e caracteres Unicode página com os pontos de código U + 2500 a U + 25FF

    
por 13.11.2015 / 03:02