Is 'ls -l' ordenando arquivos de forma não intuitiva?

0

Deixe-me explicar considerando essa saída de ls -l met* :

% ll met*
-rw-rw-r--. 1 polemon polemon  20K 09-20 04:24 met_gs.png
-rw-rw-r--. 1 polemon polemon  20K 09-20 04:26 met_idx.png
-rw-rw-r--. 1 polemon polemon 3.9K 09-20 04:28 met_mon.png
-rw-rw-r--. 1 polemon polemon  35K 09-20 04:23 met.png

Como você pode ver, eu tenho quatro arquivos, todos começando com a palavra met e, em seguida, um sufixo.

Como você pode ver também, o menor deles met.png é exibido na última linha.

Eu assumo que isso acontece porque lexicograficamente o '_' vem antes do '.'. No entanto, isso ainda parece errado. Existe uma maneira de fazer ls imprimir listas de arquivos como essa em uma ordem lexicográfica mais intuitiva, como esta:

met.png
met_gs.png
met_idx.png
met_mon.png

?

Minha versão de ls é: »ls (GNU coreutils) 8.24«

Minha localidade é en_US.utf8

    
por polemon 20.09.2016 / 04:54

1 resposta

5

Você pode usar ls -lv para isso, em que -l é a listagem longa e -v é a classificação natural

root@vps60508:~# ls -l
total 0
-rw-r--r-- 1 root root 0 Sep 19 23:00 met_gs.png
-rw-r--r-- 1 root root 0 Sep 19 23:01 met_idx.png
-rw-r--r-- 1 root root 0 Sep 19 23:01 met_mon.png
-rw-r--r-- 1 root root 0 Sep 19 23:01 met.png
root@vps60508:~# ls -lv
total 0
-rw-r--r-- 1 root root 0 Sep 19 23:01 met.png
-rw-r--r-- 1 root root 0 Sep 19 23:00 met_gs.png
-rw-r--r-- 1 root root 0 Sep 19 23:01 met_idx.png
-rw-r--r-- 1 root root 0 Sep 19 23:01 met_mon.png
    
por 20.09.2016 / 05:02

Tags