jq -r '.[] | [.name, .ip, .status, .date, .report] | @tsv' $task_file | \
while IFS=$'\t' read -r name ip status date; do
printf "$name\t$ip\t$status\t$date\t$report_patch\n"
done | jq --raw-input --slurp 'split("\n") | map(split("\t")) | .[0:-1] | map( { "name": .[0], "ip": .[1], "status": .[2], "date": .[3], "report": .[4] } )' > task.json
mv task.json $task_file
Необходимо после обработки json файла, изменять его новыми значениями. Думал решить данную проблему, через временный файл, но $task_file автоматически обновляется каждые 4 сек. Выходит что пока цикл завершится, в $task_file добавятся новые значение для обработки, но цикл их не увидит!