Se você tiver GNU sort
que tem a opção de reduzir o limite no
delimitador que você pode fazer. Dessa forma, o loop while
printf
começará a obter arquivos na ordem classificada para você processar. Substitua a opção nullglob
por sua própria lógica personalizada.
shopt -s nullglob
printf '%s( shopt -s nullglob; printf '%sshopt -s nullglob
printf '%s( shopt -s nullglob; printf '%s%pre%' xml/*.xml ) | sort -zV | while read -rd '' file; do
printf "%s\n" "$file"
done
' xml/*.xml | sort -zV | while read -rd '' file; do
printf "%s\n" "$file"
done
shopt -u nullglob
' xml/*.xml ) | sort -zV | while read -rd '' file; do
printf "%s\n" "$file"
done
' xml/*.xml | sort -zV | while read -rd '' file; do
printf "%s\n" "$file"
done
shopt -u nullglob
A opção xml
evita que o shell expanda um glob vazio se nenhum arquivo -u
for encontrado na pasta atual. A opção %code% não é configurada após o processamento ser concluído.
Como Tony Speight aponta corretamente, se você não quer mexer com as opções de shell (por exemplo, pode ser habilitado por outros motivos) você poderia apenas definir na sub-shell e deixar a expansão glob acontecer
%pre%