преобразование дат в CSV-файле. ускорить процесс

Есть два очевидных способа решить эту проблему:

  1. Сериализация задач. Вместо того, чтобы планировать две задачи одновременно, запланируйте сценарий, который запускает задачи одну за другой.

  2. Используйте рекомендательную схему блокировки, чтобы заблокировать операцию записи задач таким образом, чтобы только одна задача могла писать одновременно. См. вопросы с тегами и .

Эти две задачи могут быть объединены в один сценарий, который запускает обе задачи в фоновом режиме, в то время как сами задачи используют некоторую форму блокировки, чтобы не создавать искаженные/перемешанные выходные данные.

0
07.02.2020, 18:57
1 ответ

С GNU awk(gawk)предполагается, что файл представляет собой «простой» CSV без запятых в кавычках внутри полей

gawk -F, 'BEGIN{OFS=FS} {$11 = strftime("%c",$11)} 1' file.csv

преобразует 11-й столбец из секунд эпохи в предпочитаемый формат даты и времени для вашей локали(%c).

Точно так же с Миллером (, способным обрабатывать более сложные CSV, включая встроенные запятые):

mlr --csv --implicit-csv-header put '$11 = strftime($11,"%c")' file.csv

Другие доступные форматы даты и времени см. в man strftime.

3
28.04.2021, 23:24

Теги

Похожие вопросы