Есть скрипт:
#!/bin/bash
file="/tmp/test.csv" # 879314 strok
for ((;;))
do
index=0
while read line; do
array[$index]="$line"
index=$(($index+1))
done < $file
for ((a=0; a < ${#array[*]}; a++))
do
echo "${array[$a]}" >> /tmp/test-cycle.csv
done
echo > /tmp/test-cycle.csv
done
Суть скрипта следующая, перечитывается файл /tmp/test.csv и построчно складывается в /tmp/test-cycle.csv, после того как файл перечитался весь, происходит его обнуление (echo > /tmp/test-cycle.csv) и снова перечитка и построчное складывание.
Так вот, даже если я закоменчу строку echo > /tmp/test-cycle.csv, у меня цикл по перечитке файла не дорабатывает, если следить за наполнением файла /tmp/test-cycle.csv с помощью команды tail, то там выскакивает "файл усечен".
Прошу заметить что исходный файл у меня имеет 879314 строки. Если натравить на файл например из 10к строк то все работает как часы, а с большим файлом происходит неожиданное усечение причем каждый раз в разном месте (т.е. где-то примерно в одном и том же, но все таки разном)
Почему так происходит? помогите сделать нормально пожалуйста.