2013-07-06 3 views
-1

У меня есть два файла. В каждом файле у меня два столбца. Мне нужно сопоставить первое значение столбца два файла1 с каждым значением из второго столбца файла2. Если они равны, мне нужно поместить два столбца (один столбец из файла 1 и file2) в один файл, но они должны быть смежными друг с другом. Если два значения не совпадают, ничего не делайте.Сопоставьте две колонки и поместите их в один файл

file1

344 0 
465 1 
729 2 
777 3 
676 4 
862 5 

file2

766 0 
937 1 
980 2 
837 3 
936 5 

Пример вывода:

344 766 
465 937 
729 980 
777 837 
862 936 
+2

Должен быть какой-то присоски, это второй раз, когда я отформатировал вопрос для вас – iruvar

+0

С какой частью вы застряли? Если вы делитесь своим кодом, мы можем помочь вам исправить это. – Johnsyweb

+1

@ 1_CR: это случается - если вы патрулируете теги, которые задает конкретный пользователь, вы можете переформатировать их вопросы несколько раз. Это наиболее раздражает, когда пользователь все еще пытается внести свои собственные изменения в вопрос и продолжать терять свои усилия. Вы должны уважать то, что они сделали, но ... ну, это может раздражать. Лучше подождать, пока они перестанут редактировать, а затем внесут ваши изменения. Я часто сохраняю то, что я редактировал, используя команду-A, чтобы выбрать весь материал и команду-C для копирования (control-A, control-C в Windows, Linux); а затем вставьте его обратно. –

ответ

2

Если вы настаиваете это может быть сделано в awk

awk 'NR == FNR {arr[$2] = $1; next} {if ($2 in arr){print(arr[$2], $1)}}' file1 file2 
2
awk 'NR==FNR { values[$2] = $1; next; } 
      { if ($2 in values) print values[$2], $1 }' file1 file2 

Пока номер записи равен номеру записи файла (при чтении первого файла), значения stash в столбце 1 в values[$2], переходя к следующей записи. При обработке второго файла, если есть значение в values[$2], распечатайте значение в values[$2] и $1.

Смежные вопросы