Eu imagino que obedece a configuração de LC_COLLATE
em seu ambiente ou, na ausência disso, a configuração de LC_ALL
ou LANG
.
O comando locale(1)
deve informar quais configurações um programa verá, considerando seu ambiente.
Estou usando o ubuntu (natty), e quando uso ls -l
, os arquivos são listados, mas aparentemente o algoritmo de ordenação ignora quaisquer caracteres especiais. Por anos eu usei sublinhados para marcar pastas especiais. E parece-me que eles sempre foram listados primeiro.
Agora, o sublinhado é completamente ignorado.
Vamos supor que eu tenha os arquivos fileA
, _fileB
e fileC
em uma pasta. Atualmente, ls -l
os ordena assim:
malbert@dredg:/tmp/1$ ls -l
total 0
-rw-r--r-- 1 malbert domain users 0 2011-08-03 15:27 fileA
-rw-r--r-- 1 malbert domain users 0 2011-08-03 15:27 _fileB
-rw-r--r-- 1 malbert domain users 0 2011-08-03 15:27 fileC
Mas eu gostaria que fosse classificado da seguinte forma:
malbert@dredg:/tmp/1$ ls -l
total 0
-rw-r--r-- 1 malbert domain users 0 2011-08-03 15:27 _fileB
-rw-r--r-- 1 malbert domain users 0 2011-08-03 15:27 fileA
-rw-r--r-- 1 malbert domain users 0 2011-08-03 15:27 fileC
Eu examinei a página ls
man e não consegui encontrar nada. Existe algum lugar com uma opção collation
em todo o sistema? Ou algo parecido?
Tags ls linux ubuntu ubuntu-11.04