Как узнать общие элементы между двумя файлами?

Например, у меня есть 2 файла со следующей информацией:

Файл №1:

12 13 14 15 

Файл №2:

 12 1 13 2 14 2 15 6 16 7 17 8 

Выходной файл:

 1 2 2 6 

В выходном файле мне нужны только значения второго столбца файла # 2, которые совпадали с первым столбцом файла # 1. Есть ли какая-либо функция утилиты для Linux? Я новичок в сценариях оболочки, может ли кто-нибудь помочь мне?

вы можете использовать команду join для объединения файлов в определенном столбце и awk для синтаксического анализа вывода.

Чтобы присоединиться к этим файлам в столбце 1, передайте параметры -j 1 в команду соединения:

 usr@srv % join -j 1 test test2 12 1 13 2 14 2 15 6 

Затем используйте awk для печати только второго столбца:

 usr@srv % join -j 1 test test2 | awk '{print $2}' 1 2 2 6