Я пытаюсь написать скрипт, который разбивает ОЧЕНЬ большой файл на более мелкие части, которые затем отправляются в скрипт, который работает в фоновом режиме. Мотивация заключается в том, что если скрипт работает в фоновом режиме, я могу работать параллельно.
Вот мой код ./seq работает так же, как обычная команда seq (которой нет у mac). $ 1 - огромный файл, который нужно разделить.
echo "Splitting and Running Script"
for i in $(./seq 0 14000000 500000)
do
awk ' { if (NR>='$i' && NR<'$(($i+500000))') { print $0 > "xPart'$i'" } }' $1
python FastQ2Seq.py xPart$i &
done
wait
echo "Concatenating"
for k in *.out.seq
do
cat $k >> original.seq
done
for j in *.out.qul
do
cat $j >> original.qul
done
echo "Cleaning"
rm xPart*
Моя проблема в том, что сделан только xPart0, и в нем всего 499995 строк до зависания программы. Я добавил отладочное эхо в скрипт и знаю, что оператор awk останавливает скрипт. Я просто не могу понять, что происходит не так.