Com o GNU ls
(como encontrado na maioria das distribuições do Linux), você pode usar ls -v
, onde -v
, da man
page
-v natural sort of (version) numbers within text
Eu tenho um diretório com arquivos chamados "1", "2", ..., "9", "10", "11", ..., "20", "21", ... .
Posso listá-los na ordem de "1", "2", ..., "9", "10", "11", ..., "20", "21", ... ?
Eu tentei ls -ls
. Ele não lista os arquivos dessa forma, mas sim "1", "10", "11", ..., "19", "2", "20", "21", ....
Eu acho que um recurso como esse será útil às vezes.
O GNU ls -v
já foi mencionado, mas para outros comandos, se o seu shell for zsh
, você poderá afetar os curingas do pedido, que serão expandidos com qualificadores de globbing.
Por exemplo:
printf '%s\n' *(om)
Listaria os arquivos classificados por m tempo de odificação (do mais novo ao mais antigo), *(Om)
para reverter a ordem de classificação (do mais antigo para o mais novo).
*(n)
classificaria os arquivos numericamente. Então, se o seu ls
não é o GNU ls
, você ainda pode fazer:
ls -fdl -- *(n)
Para obter a lista numericamente ordenada.
Tags ls