Powiązane, ale nie zadowalające odpowiedzi: Jak mogę podzielić duży plik tekstowy na około 500 słów?
Próbuję pobrać plik tekstowy ( http://mattmahoney.net/dc/text8.zip ) zawierający> 10 ^ 7 słów w jednym wierszu i podzielić go na wiersze z N słowami w każdym. Moje obecne podejście działa, ale jest dość powolne i brzydkie (przy użyciu skryptu powłoki):
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
Wszelkie wskazówki, w jaki sposób mogę uczynić to szybszym lub bardziej kompaktowym?