Eu costumo usar bash
, no entanto, esta é uma daquelas tarefas para as quais você pode querer considerar mudar para zsh
para que você possa usar o Qualificadores glob
print dir/*(/on[230])
Explicação:
-
/
: corresponde aos diretórios
-
on
: classifica em crescente o rder por n ame (para ordem decrescente, use letras maiúsculas O
)
-
[230]
: limite os resultados para o intervalo especificado
O qualificador de intervalo é mais geralmente da forma [m,n]
- você também pode usar [230,230]
neste contexto.
Se você precisar fazer isso em bash
, as ferramentas externas serão necessárias: aqui está um método que deve ser seguro para todos os nomes de arquivos (mesmo aqueles com novas linhas incorporadas):
printf '%sprint dir/*(/on[230])
' dir/*/ | sort -z | awk -vRS='printf '%s%pre%' dir/*/ | sort -z | awk -vRS='%pre%' 'NR==230 {print; exit}'
' 'NR==230 {print; exit}'