No meu Ubuntu existe a opção -v
para ls
. De man ls
:
-v natural sort of (version) numbers within text
Como alternativa, a opção -V
para sort
também serve para lidar com números de versão. Decidi incluí-lo na minha resposta porque sort
funciona como um filtro. Pode ser útil no caso geral (por exemplo, quando você obtém sua lista de diretórios de find
ou de um arquivo de texto).
Escreva sua definição de array assim:
ARR=($(ls -d -v Dir*))
ou isto:
ARR=($(ls -d Dir* | sort -V))
EDIT: o comentário de dave_thompson_085 dá uma simplificação útil:
adding
-r
to either puts the desired item first, accessible with more convenient${ARR[1]}
.