Строки с несовпадающим $6 вы уже выкинули.
Перегоняем оба файла в формат $1,$3, отбрасывая прочую информацию и убирая дубли.
Сортируем, находим пересечение этих файлов.
Перегоняем второй в формат $1,$3,$2,$4,$5,$6,$7 и сортируем.
На своем любимом языке программирования открываем этот файл (1) и файл пересечений (2), сравнивая текущую строку в файле (2) с началом текущей строки в файле (1).
Если они совпадают - выводим, переставив столбцы.
Если нет - читаем следующую строку из файла, строка в котором оказалась меньше другого (данные-то отсортированы).
В один проход получаем результат, никаких недель.