Похоже, что она хочет команду join
, возможно, с сортировкой. Но с миллионами записей пришло время серьезно задуматься о настоящей СУБД.
join -t\; -o 0,2.2,2.3 <(sort -t\; -k 1,1 first) <(sort -t\; -k 1,1 second)
(Для этого требуется bash
или zsh
для синтаксиса <(command)
; для переноса вам потребуется сортировать по временным файлам или сохранять отсортированные входные файлы.)