Связанные, но не удовлетворительные ответы: Как я могу разбить большой текстовый файл на куски по 500 слов или около того?
Я пытаюсь взять текстовый файл ( http://mattmahoney.net/dc/text8.zip ), содержащий> 10 ^ 7 слов, все в одной строке, и разбить его на строки по N слов в каждом. Мой текущий подход работает, но довольно медленный и уродливый (с использованием сценария оболочки):
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
Любые советы о том, как я могу сделать это быстрее или компактнее?