Como você está usando o formato yyyymmdd
, uma classificação numérica funcionará bem. O caminho mais rápido será usar o comando sort
:
newest_dir=$(printf '%s\n' myproddbserver/* | sort -rn | head -n1)
Você também pode fazer isso no bash puro:
newest=0
for d in myproddbserver/*; do
(( d > newest )) && newest=$d
done
newest_files=("myproddbserver/$newest/"*)
printf '%s\n' "${newest_files[@]}"
A versão bash é provavelmente mais lenta, mas irá lidar com todos os nomes de arquivos possíveis. O método sort
falhará se algum nome de arquivo contiver um caractere de nova linha.