Respostas relacionadas, mas sem respostas satisfatórias: Como posso dividir um arquivo de texto grande em pedaços de 500 palavras ou mais?
Estou tentando pegar um arquivo de texto ( http://mattmahoney.net/dc/text8.zip ) com> 10 ^ 7 palavras, tudo em uma linha, e dividi-lo em linhas com N palavras cada. Minha abordagem atual funciona, mas é bastante lenta e feia (usando o shell script):
i=0
for word in $(sed -e 's/\s\+/\n/g' input.txt)
do
echo -n "${word} " > output.txt
let "i=i+1"
if [ "$i" -eq "1000" ]
then
echo > output.txt
let "i=0"
fi
done
Alguma dica de como posso tornar isso mais rápido ou mais compacto?