Здравствуйте, коллеги. Подскажите. пожалуйста, мне нужно обрабатывать огромные массивы текстовой информации, и под это выделен отдельный сервер с 8 ядрами процессора.
При выполнении скрипта
cat rphost*/*.log |
sed -r '/^p_[0-9]+: /d' |
perl -pe 's/\xef\xbb\xbf//g; s/\n/@/g; s/\s/ /g; s/^[0-9]+:[0-9]+\.[0-9]+-[0-9]+,Context,.,Context=/,Context=/; s/#tt[0-9]+/#tt/g; s/^[0-9]+:[0-9]+.[0-9]+-.*Sql=/\n/; s/,Rows.*Context/Context/g; s/\?//g; s/.,Context=/|/g' |
perl -pe 's/\"//g' | perl -pe "s/\'//g" |
gawk -F'|' '{if ($2 !~ /^$/) {Req[$1]=$2}} END {for (i in Req) print Req[i]"|"i}'> Res.txt
Обнаружил, что так и не смог нормально утилизировать процессор, а процессов cat или perl не более четырех.
Работаю под виндой. Можно ли увеличить число потоков обработки или ускорить как-нибудь обработку? Единомоментно необходиом обрабатывать примерно 800Гб текста