Было бы глупо открывать, обрабатывать, закрывать, повторно открывать, повторно обрабатывать, повторно закрывать любое количество раз, не говоря уже о 1000. Это очень, очень много времени.
В программе Cobol вы сохраняете файл меньшего размера в таблице и обрабатываете таблицу в сравнении с файлом большего размера, как было предложено.
Однако вам не нужна программа. JOINKEYS даст вам решение.
У тебя нет ключа? О, дорогой, дорогой. Вы делаете один. Вы создаете один и тот же однобайтовый ключ с одинаковым значением для каждой записи в обоих файлах. Сделайте JOINKEYS на этот ключ. Укажите SORTED на JOINKEYS (и NOSEQCK, если у вас DFSORT). У вас есть "декартово" соединение. Используйте SS (совпадение подстроки), которое может быть для всей записи или части записи. Твой фактический требуемый результат неясен, и я не думаю, что ты собираешься придумать это сейчас.
С DFSORT вы можете сделать это за один шаг. С SyncSort вы можете сделать это за один шаг, если ваша версия поддерживает файлы JNFnCMTL.