Não é nada demais renumerar os arquivos depois.
split -a 5 -d -l 10000 large_input_file /out_path/tmp.
for x in /outpath/tmp.*; do
mv -i -- "$x" "${x%/*}/out.$(printf %05d $((10#${x##*.}+1)))";
done
Observe algumas armadilhas:
- A abordagem ingênua de renomear
out.00000
paraout.00001
e assim por diante não funciona, porque a globbing se expande para uma lista ordenada lexicograficamente, portanto, a primeira renomeação sobrescreveria o segundo arquivo. Em zsh, você pode usar o qualificador(On)
glob. Em outros shells, a maneira mais fácil é alterar também o radical do nome. - Um
0
na aritmética shell faz com que o número seja interpretado em octal.10#${…}
força uma interpretação decimal. -
printf %05d
é uma maneira de manter o preenchimento em 5 dígitos.