Como faço para listar pastas com sublinhados primeiro?

13

Então, praticamente todo mundo, antes de usar o Ubuntu eu usei uma máquina Windows, e uma das coisas que eu me acostumei no Windows foi usar o sublinhado como o primeiro caractere de um nome de pasta como algum tipo de marcação especial ele apareceria primeiro na listagem, tanto na linha de comando quanto no gerenciador de arquivos.

Por exemplo, na minha pasta de e-books (no Windows) é algo como isto:

_read
      Book1.pdf
      Book2.pdf
_reading
      Book3.pdf
Book4.pdf
Book5.pdf

mas no Nautilus do Ubuntu é assim:

Book4.pdf
Book5.pdf    
_read
      Book1.pdf
      Book2.pdf
_reading
      Book3.pdf

O que está acontecendo é que ele está ignorando completamente o sublinhado e trata "_read" como "lido" e, portanto, não o coloca no primeiro como desejado.

Eu tentei definir a variável de ambiente LC_COLLATE para C. Isso ajuda de alguma forma, uma vez que lista o sublinhado juntos, mas no final, e não no começo.

Obrigado.

    
por nunos 10.01.2013 / 04:05

2 respostas

12

Como você não especificou a localidade que está usando no momento, esta solução presume que você esteja usando en_US.UTF-8 como seu padrão.

Você pode verificar isso executando o comando locale na linha de comando ( Ctrl + Alt + t ).

Por exemplo:

~ $ locale
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

A variável que afeta a ordem de classificação dos arquivos é chamada LC_COLLATE .

De acordo com as páginas de ajuda do Ubuntu , a variável LC_COLLATE determina "Como as strings (nomes dos arquivos ... ) são classificadas alfabeticamente.Usar a localidade "C" ou "POSIX" aqui resulta em uma ordem de classificação como strcmp (), que pode ser preferível a localidades específicas de idioma. "

A ordem de classificação precisará ser alterada de LC_COLLATE="en_US.UTF-8" para LC_COLLATE=C .

Na linha de comando ( Ctrl + Alt + t ), digite:

update-locale LC_COLLATE=C

Importante: você precisa fazer logout do sistema e fazer login novamente para que as alterações entrem em vigor .

Executando o comando locale novamente, ele deve mostrar que a variável LC_COLLATE foi alterada com sucesso. Executar o comando ls -l novamente deve refletir essa alteração.

    
por Kevin Bowen 14.01.2013 / 09:28
0

caja (e eu acho que o Nautilus antes dele) tem uma opção em Preferências para classificar as pastas antes dos arquivos. Isso ajudaria?

    
por desconocido 29.06.2017 / 00:55

Tags