У меня есть несколько массивных (4,6 миллиона строк) файлов данных, которые я пытаюсь редактировать с помощью fortran. По сути, в файлах есть серия заголовков, за которыми следует таблица чисел. Примерно так:
р он4 бла 99 ггг
1,0e + 01 2,0e + 01 2,0e + 01
2.0e + 01 5.0e + 01 2.0e + 01
.
.
3,2e + -1,0e + 01 1,0e + 00
p he3 blafoo 99 ggg
1.1e + 00 2.3e + 01 2.0e + 01
Моя задача - заменить некоторые записи в одном файле на записи из другого. Список поставляется отдельно.
Я написал код, который уже работает. Моя стратегия состоит в том, чтобы просто прочитать и повторить первый файл, пока я не найду заголовок, который соответствует списку замены. Затем найдите тот же заголовок во втором файле, повторить записи. Наконец, переключитесь обратно на отображение первого файла. Единственная проблема с этим подходом состоит в том, что это SOOOOOO медленно! Я посмотрел на прямой доступ к файлам, но они не имеют фиксированной длины записи. У кого-нибудь есть идея получше?
Приветствия за помощь,
Рич