У меня 2 файла. Первый файл содержит список идентификаторов строк кортежей таблицы в базе данных. И второй файл содержит SQL-запросы с этими идентификаторами строк в предложении «где» запроса.Найти содержимое одного файла из другого файла в UNIX
Например:
Файл 1
1610657303
1610658464
1610659169
1610668135
1610668350
1610670407
1610671066
Файл 2
update TABLE_X set ATTRIBUTE_A=87 where ri=1610668350;
update TABLE_X set ATTRIBUTE_A=87 where ri=1610672154;
update TABLE_X set ATTRIBUTE_A=87 where ri=1610668135;
update TABLE_X set ATTRIBUTE_A=87 where ri=1610672153;
Я должен прочитать файл 1 и поиск в файле 2 для всех команд SQL, который соответствует строки идентификаторов из файла 1 и сбрасывать эти SQL-запросы в третьем файле.
Файл 1 имеет 1,00,000 записей, а файл 2 содержит 10 записей в файле 1, то есть 1,00,0000.
Я использовал grep -f File_1 File_2 > File_3
. Но это очень медленно, и скорость составляет 1000 записей в час.
Есть ли более быстрый способ сделать это?
ли все запросы, которые используют идентификаторы строк, упомянутые в файле 1, попадают в один и тот же выходной файл или вы хотите иметь отдельный файл для каждого идентификатора строки в файле 1? –
Разрешено ли сортировать файлы по идентификаторам? Или порядок должен быть сохранен? – fizzer
Только один выходной файл. Каждый раз, когда запись из файла 1 соответствует записи в файле 2, эта запись файла 2 должна быть сброшена в выходной файл. И записи в файлах 1 и 2 уникальны. Нет дубликатов строк в любом из файлов. – Tirthankar