Bash скрипт сортировки полупроводок по дням

Евгений12 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
09.02.2013

Будет цикл задач по последовательному переливанию данных из одного формата в другой. Требуется разработчик, хорошо знакомый с bash, чтобы реализовать их на высоком уровне производительности. Каждая задача - отдельный заказ.

Задача 1.

Нужно рассортировать полупроводки по дням.

Результат работ - скрипт htr001_to_htr001d.sh, который конвертирует файл {name1}.htr001 в множество файлов {name}_YYYYMMDD.htr001d

Есть рабочая заготовка скрипта которая будет передана исполнителю. Она была реализована нашим администратором, но работает слишком медленно.

Операционная система AIX 6.1.

(bash там не совсем полноценный, например не работает инструкция подстроки ${var:0:5})

Размер входящего файла от 1 до 100gb. Частично отсортирован по дням.

Скрипт должен предусматривать возможность экстренной остановки, без kill. При запуске скрипта, один из параметров - сигнальный файл. Периодический скрипт должен проверять его наличие, и если файла больше нет, то нужно почистить все временные файлы и остановиться.

Общие конвенции формата:

Конвенция 1:

Разделитель TAB;

Все управляющие символы в строках заменены на пробелы;

Все строки обработаны TRIM();

Десятичный разделитель точка;

Лишние нули и точки в числах убраны (10.10000 , 10.);

Даты - YYYYMMDD;

Последняя строка обязательно заканчивается переходом на новую строку;

Форматы:

Htr001 - half transactions

Конвенция 1

Поля: ДатаПроводки, Счёт, Часть(0-debet,1-credit), КлючИсточника

, КодВалютыISO, СуммаПроводки, СуммаПроводкиВВалюте

Htr001d - half transactions by days

Конвенция 1

Поля: Счёт, Часть(0-debet,1-credit), КлючИсточника(число), КодВалютыISO, СуммаПроводки, СуммаПроводкиВВалюте

Данные должны быть отсортированы по Счёт, Часть, КлючИсточника

Package File:Имя файла, дата, hash, минимальный ключ, максимальный ключ

Заявки фрилансеров