У меня есть два файла, которые выглядят следующим образом:Unix: слияние файлов на основе значения столбца
Файл 1 (2 колонки):
ID1 123
ID2 234
ID3 232
ID4 344
...
Файл 2 (> 1 млн столбцов)
ID2 A C ...
ID3 G T ...
ID1 C T ...
ID4 A C ...
...
Я хочу добавить значения из столбца 2 файла 1 на основе идентификатора файла 2 в качестве второго столбца. Таким образом, слитый файл должен выглядеть следующим образом:
ID2 234 A C ...
ID3 232 G T ...
ID1 123 C T ...
ID4 344 A C ...
...
Так точно так же, как файл 2 (такой же порядок строк), но с добавлением 2-й колонке. Идентификаторами являются значения первого столбца (присутствующие в обоих файлах). Файл 1 имеет больше строк/идентификаторов, чем файл 2. Все идентификаторы из файла 2 находятся в файле 1, но не все ID из файла 1 находятся в файле 2.
Кто-нибудь знает, как это сделать в unix/bash? Большое спасибо!
Сколько строк есть? (Можно ли загрузить весь файл 1 в память?) – ruakh
Файл 1 имеет около 4 миллионов строк, файл 2 содержит от десятков тысяч до сотен тысяч строк (у меня фактически есть несколько файлов в формате файла 2, поэтому Я должен делать это несколько раз (= для каждого файла)) – Abdel