Eu uso o sublinhado para indicar diretórios especiais que precisam ir para o topo. Na minha pasta de projetos, tenho proj_a, proj_b e _old_projects. Não adianta se essa pasta estiver dentro dos o-projects.
Martin Ueding
Respostas:
9
Como um comando único, você pode fazer isso:
LC_COLLATE=C ls
Ou você pode adicionar export LC_COLLATE="C" ao seu .bashrc para torná-lo permanente (pode haver resultados inesperados em outros lugares).
O @dAnjou LC_COLLATE=Cls define a ordem de classificação POSIX tradicional, que é por ASCII na qual as maiúsculas vêm antes do sublinhado. Para ordenar os sublinhados antes das maiúsculas, é necessário entrar no castelo e criar uma definição de localidade personalizada em / usr / share / i18n / locales.
misterben
2
Isso pode ter funcionado no passado, mas não está funcionando no Ubuntu 12.04.
Mikel
1
A partir do Ubuntu 14.04, LC_COLLATE=C lsnão funciona, mas LC_ALL=C lsfunciona.
jwodder
6
Caso não exista uma maneira integrada de fazer isso, você poderá usar uma substituição simples para sort:
#!/usr/bin/env python
import sys
for i in sorted(sys.stdin):
sys.stdout.write(i)
Salve-o, por exemplo, em /bin/pysorte torne-o executável ( sudo cp whatever.py /bin/pysorte sudo chmod a+x /bin/pysort) e execute-o como ls | pysort:
Eu provavelmente colocaria isso, ~/binmas um bom substituto. Provavelmente é melhor usar globbing no python, pois a saída de ls pode ser estranha se um nome de arquivo contiver uma nova linha.
Martin Ueding
1
seria ls | sortnão fazer exatamente o que você precisa?
Respostas:
Como um comando único, você pode fazer isso:
LC_COLLATE=C ls
Ou você pode adicionar
export LC_COLLATE="C"
ao seu .bashrc para torná-lo permanente (pode haver resultados inesperados em outros lugares).Mais informações nos fóruns do Ubuntu .
fonte
LC_COLLATE=C
ls define a ordem de classificação POSIX tradicional, que é por ASCII na qual as maiúsculas vêm antes do sublinhado. Para ordenar os sublinhados antes das maiúsculas, é necessário entrar no castelo e criar uma definição de localidade personalizada em / usr / share / i18n / locales.LC_COLLATE=C ls
não funciona, masLC_ALL=C ls
funciona.Caso não exista uma maneira integrada de fazer isso, você poderá usar uma substituição simples para
sort
:Salve-o, por exemplo, em
/bin/pysort
e torne-o executável (sudo cp whatever.py /bin/pysort
esudo chmod a+x /bin/pysort
) e execute-o comols | pysort
:fonte
~/bin
mas um bom substituto. Provavelmente é melhor usar globbing no python, pois a saída de ls pode ser estranha se um nome de arquivo contiver uma nova linha.seria
ls | sort
não fazer exatamente o que você precisa?fonte