Как присоединиться к 2 файлам на основе обычных строк первых столбцов?

file1 : HOUSAM1189870 3 0.00 0 -2450.00 11 HOUSAM1213135 3 0.00 0 -2620.00 2 HOCANM245675 3 0.00 0 0.00 0 HOUSAM1239242 3 0.00 0 -3113.00 8 file2 : AY840F3001138842 20050301 AY840F3001140253 20060101 HOCANM245675 34409887 HOUSAM1239242 34444444 

Я хочу присоединиться к file1 и file2 на основе общих строк их первого столбца. поэтому выход должен быть:

 file3: HOCANM245675 3 0.00 0 0.00 0 34409887 HOUSAM1239242 3 0.00 0 -3113.00 8 34444444 

любое предложение, пожалуйста?

One Solution collect form web for “Как присоединиться к 2 файлам на основе обычных строк первых столбцов?”

(примечание: этот ответ был написан до того, как вопрос был обновлен командой join и сообщениями об ошибках)

команда называется join .

со страницы man:

join – объединение строк двух файлов на общем поле

поскольку ваши входные файлы не отсортированы, вам необходимо сначала их отсортировать

 join <(sort file1) <(sort file2) 

объекты <(...) называются подстановкой процессов и поддерживаются bash и некоторыми другими оболочками. если у вас есть оболочка, которая не поддерживает замену процесса, вам придется работать с промежуточными файлами.

join является частью gnu coreutils, поэтому он должен быть установлен на большинстве распространенных систем gnu / linux.

Linux и Unix - лучшая ОС в мире.