В случае, если всегда есть данные для сбора данных для 7 записей (плюс пустая строка), тогда это программа
будет собирать соответствующие данные и распечатать их в конце:
awk '{a[NR%8]=a[NR%8]" "$0} END{for (i=1;i<=7;i++) print a[i]}'
(Обратите внимание, что ваши образцы данных, похоже, имеют много трактирующих заготовки; если вы хотите, чтобы эти заготовки были удалены вместо присоединения, пожалуйста, отрегулируйте свой вопрос соответствующим образом, то я корректирую свой ответ соответственно.)
Редактировать: для создания Выделители запятой, как в вашем выходе образца в вашем вышеуказанном комментарии, используйте:
awk '{a[NR%8]=a[NR%8]", "$0} END{for (i=1;i<=7;i++) print substr(a[i],3)}'
Добавьте опцию --maxtime. Вы также можете установить --connect-timeout, который будет ограничивать количество времени, которое curl пытается подключиться к серверу.
Пример: curl --output /dev/null --silent --head --fail --maxtime 10 --connect-timeout 3 "$url"