Estou usando ls
no MacOS 11.6.1. Na saída, as letras maiúsculas são exibidas antes das minúsculas. Por exemplo, recebo a seguinte saída:
$ ls
Blabla.txt
GAGAS.txt
asdf.txt
blabla.txt
e gostaria de ter em vez disso:
$ ls
asdf.txt
blabla.txt
Blabla.txt
GAGAS.txt
Esta é a saída padrão normal de ls
? Como posso ter o número de saída 2?
ls
é exigido pelo POSIX para classificar os nomes dos arquivos em sua saída de acordo com a sequência de agrupamento no locale atual .Se o seu sistema não tiver um código de idioma onde a ordem de classificação ignore maiúsculas e minúsculas, pelo menos na primeira passagem de comparação de strings, você pode tentar canalizar para
sort -f
:(com a
-q
opção de garantir que os nomes dos arquivos sejam exibidos em uma linha, substituindo os caracteres de controle neles, incluindo nova linha por?
(cuidado, pois isso pode afetar a ordem).Ou com o shell zsh, use algo como:
Em vez de
ls
. Isso é definir umalc
função auxiliar que altera o valor para$REPLY
minúsculas e usá-la como umao
função de ordenação para a expansão glob (não necessariamente estritamente equivalente a uma comparação sem distinção entre maiúsculas e minúsculas, mas deve ser próxima o suficiente, especialmente para texto somente ASCII).