Ao fornecer uma lista de arquivos como argumentos para ls, devo listá-los na mesma ordem em que são especificados como argumentos?

0

Ao fornecer uma lista de arquivos como argumentos para ls, devo listá-los na mesma ordem em que são especificados como argumentos?

Por exemplo, por que o terceiro comando lista os arquivos na mesma ordem que o quarto comando ls -l , mas não na mesma ordem da primeira saída do primeiro comando, e depois na saída do segundo comando?

$ ls \[Untitled\]_?-*  -l
-rw-rw-r-- 1 t t 1867153 Dec  1 23:02 [Untitled]_1-18.pdf
-rw-rw-r-- 1 t t 1104215 Dec  1 23:03 [Untitled]_2-18.pdf
-rw-rw-r-- 1 t t 1287357 Dec  1 23:03 [Untitled]_3-18.pdf
-rw-rw-r-- 1 t t 1015360 Dec  1 23:03 [Untitled]_4-18.pdf
-rw-rw-r-- 1 t t 1133440 Dec  1 23:04 [Untitled]_5-18.pdf
-rw-rw-r-- 1 t t 1230646 Dec  1 23:04 [Untitled]_6-18.pdf
-rw-rw-r-- 1 t t 1070296 Dec  1 23:04 [Untitled]_7-18.pdf
-rw-rw-r-- 1 t t 1248518 Dec  1 23:04 [Untitled]_8-18.pdf
-rw-rw-r-- 1 t t 1096371 Dec  1 23:04 [Untitled]_9-18.pdf

$ ls  \[Untitled\]_??-*   -l
-rw-rw-r-- 1 t t 1310164 Dec  1 23:05 [Untitled]_10-18.pdf
-rw-rw-r-- 1 t t 2031810 Dec  1 23:05 [Untitled]_11-18.pdf
-rw-rw-r-- 1 t t 1043840 Dec  1 23:05 [Untitled]_12-18.pdf
-rw-rw-r-- 1 t t 1180514 Dec  1 23:05 [Untitled]_13-18.pdf
-rw-rw-r-- 1 t t 2058009 Dec  1 23:05 [Untitled]_14-18.pdf
-rw-rw-r-- 1 t t 2075104 Dec  1 23:06 [Untitled]_15-18.pdf
-rw-rw-r-- 1 t t 2092823 Dec  1 23:06 [Untitled]_16-18.pdf
-rw-rw-r-- 1 t t 2015672 Dec  1 23:06 [Untitled]_17-18.pdf
-rw-rw-r-- 1 t t 1929560 Dec  1 23:06 [Untitled]_18-18.pdf

$ ls \[Untitled\]_?-* \[Untitled\]_?\
?-*   -l
-rw-rw-r-- 1 t t 1310164 Dec  1 23:05 [Untitled]_10-18.pdf
-rw-rw-r-- 1 t t 2031810 Dec  1 23:05 [Untitled]_11-18.pdf
-rw-rw-r-- 1 t t 1867153 Dec  1 23:02 [Untitled]_1-18.pdf
-rw-rw-r-- 1 t t 1043840 Dec  1 23:05 [Untitled]_12-18.pdf
-rw-rw-r-- 1 t t 1180514 Dec  1 23:05 [Untitled]_13-18.pdf
-rw-rw-r-- 1 t t 2058009 Dec  1 23:05 [Untitled]_14-18.pdf
-rw-rw-r-- 1 t t 2075104 Dec  1 23:06 [Untitled]_15-18.pdf
-rw-rw-r-- 1 t t 2092823 Dec  1 23:06 [Untitled]_16-18.pdf
-rw-rw-r-- 1 t t 2015672 Dec  1 23:06 [Untitled]_17-18.pdf
-rw-rw-r-- 1 t t 1929560 Dec  1 23:06 [Untitled]_18-18.pdf
-rw-rw-r-- 1 t t 1104215 Dec  1 23:03 [Untitled]_2-18.pdf
-rw-rw-r-- 1 t t 1287357 Dec  1 23:03 [Untitled]_3-18.pdf
-rw-rw-r-- 1 t t 1015360 Dec  1 23:03 [Untitled]_4-18.pdf
-rw-rw-r-- 1 t t 1133440 Dec  1 23:04 [Untitled]_5-18.pdf
-rw-rw-r-- 1 t t 1230646 Dec  1 23:04 [Untitled]_6-18.pdf
-rw-rw-r-- 1 t t 1070296 Dec  1 23:04 [Untitled]_7-18.pdf
-rw-rw-r-- 1 t t 1248518 Dec  1 23:04 [Untitled]_8-18.pdf
-rw-rw-r-- 1 t t 1096371 Dec  1 23:04 [Untitled]_9-18.pdf

$ ls -l
total 26268
-rw-rw-r-- 1 t t 1310164 Dec  1 23:05 [Untitled]_10-18.pdf
-rw-rw-r-- 1 t t 2031810 Dec  1 23:05 [Untitled]_11-18.pdf
-rw-rw-r-- 1 t t 1867153 Dec  1 23:02 [Untitled]_1-18.pdf
-rw-rw-r-- 1 t t 1043840 Dec  1 23:05 [Untitled]_12-18.pdf
-rw-rw-r-- 1 t t 1180514 Dec  1 23:05 [Untitled]_13-18.pdf
-rw-rw-r-- 1 t t 2058009 Dec  1 23:05 [Untitled]_14-18.pdf
-rw-rw-r-- 1 t t 2075104 Dec  1 23:06 [Untitled]_15-18.pdf
-rw-rw-r-- 1 t t 2092823 Dec  1 23:06 [Untitled]_16-18.pdf
-rw-rw-r-- 1 t t 2015672 Dec  1 23:06 [Untitled]_17-18.pdf
-rw-rw-r-- 1 t t 1929560 Dec  1 23:06 [Untitled]_18-18.pdf
-rw-rw-r-- 1 t t 1104215 Dec  1 23:03 [Untitled]_2-18.pdf
-rw-rw-r-- 1 t t 1287357 Dec  1 23:03 [Untitled]_3-18.pdf
-rw-rw-r-- 1 t t 1015360 Dec  1 23:03 [Untitled]_4-18.pdf
-rw-rw-r-- 1 t t 1133440 Dec  1 23:04 [Untitled]_5-18.pdf
-rw-rw-r-- 1 t t 1230646 Dec  1 23:04 [Untitled]_6-18.pdf
-rw-rw-r-- 1 t t 1070296 Dec  1 23:04 [Untitled]_7-18.pdf
-rw-rw-r-- 1 t t 1248518 Dec  1 23:04 [Untitled]_8-18.pdf
-rw-rw-r-- 1 t t 1096371 Dec  1 23:04 [Untitled]_9-18.pdf

Obrigado.

    
por Tim 02.12.2016 / 07:13

1 resposta

3

ls sempre classifica sua saída . POSIX define que

shall sort directory and non-directory operands separately according to the collating sequence in the current locale.

Isso geralmente resultará em números em nomes sendo classificados lexicograficamente, como em seus exemplos, mas a ordem geral depende das regras especificadas em sua localidade.

O mesmo resultado será obtido a partir da especificação de arquivos na linha de comando e da nomeação de um diretório que contenha exatamente esses arquivos.

    
por 02.12.2016 / 07:24

Tags