Intereting Posts
Почему сценарии инициализации не запускаются несколько раз? Debian 7.3 не может удалить postgresql Вложенный кошмар котировок: отправка электронной почты с удаленного хоста Список изменений файлов в определенной папке с огромным содержимым и несколькими уровнями подпапок (с достойной производительностью) Ошибка Skype в ubuntu 10.10 День недели плюс x дней Использование закрытого ключа RSA из PuTTY в Filezilla как остановить добавление неиспользуемого модуля в загружаемый модуль ядра? Как работает многоадресная рассылка UDP в Unix? Правильный способ запуска корневой задачи / программы на фоне Избегайте буферизации вывода для группы команд (фигурные скобки) в сценарии bash Завершить каждый фоновый процесс Как написать команду для ключа Exec в файле .desktop, содержащем зарезервированный символ, правильно? Новый сигнал поступает, когда выполнение выполняется в обработчике сигналов, как решить, что является первым? Уровень совместимости Linux для IBM AIX

Сравните 2 поля из разных файлов и верните только совпадения независимо от порядка

У меня есть 2 файла File1.txt:

Column1 | Column2 username2 | timestamp username1 | timestamp username4 | timestamp 

file2.txt:

 Column1 | Column2 username1 | timestamp username3 | timestamp username2 | timestamp 

Я хочу вывести, где они имеют соответствующие значения Column1 в новый файл, просто показывая содержимое Column1. Эти значения в Column1 не всегда находятся в одинаковом порядке между file1.txt и file2.txt, и некоторые записи будут отсутствовать в любом файле.

Выход-file3.txt

Column1
username1
username2

Использование awk

 awk -F ' *| *' 'NR==FNR{a[$1];next}($1 in a)' file1 file2 

Массив a заполняется содержимым первого столбца file1. При анализе следующего файла будут напечатаны только строки, соответствующие массиву записей.

Извлеките столбец 1 из обоих файлов, отсортируйте его, затем найдите дублированные строки:

 cut -d" " -f1 File1.txt File2.txt | sort | uniq -d 

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

 sort f1 > f1s sort f2 > f2s diff f1s f2s