Объединение / объединение 2 текстовых файлов в соответствии с числовым полем

У меня есть 2 текстовых файла

file_1:

14595|Age 35|Salary xx|Position ax|2013|Info 1|Info 2|Info 3|Info 4|Info 5 14649|Age 30|Salary xx|Position az|2015|Info 1|Info 2|Info 3|Info 4|Info 5 

file_2:

 14595|Address xx|Info 6|Info 7|Info 8 14649|Address xxxz|Info 6|Info 7|Info 8 

Я хочу, чтобы посмотреть первый столбец file_1 (числовой) и найти его совпадение в файле_2 и объединить информацию обоих файлов в файл_3 без поля числового ключа, чтобы результат был похож

file_3

 Age 35|Salary xx|Position ax|2013|Info 1|Info 2|Info 3|Info 4|Info 5|Address xx|Info 6|Info 7|Info 8 Age 30|Salary xx|Position az|2015|Info 1|Info 2|Info 3|Info 4|Info 5|Address xxxz|Info 6|Info 7|Info 8 

2 Solutions collect form web for “Объединение / объединение 2 текстовых файлов в соответствии с числовым полем”

Использовать join :

 $ join -t'|' file_1 file_2 14595|Age 35|Salary xx|Position ax|2013|Info 1|Info 2|Info 3|Info 4|Info 5|Address xx|Info 6|Info 7|Info 8 14649|Age 30|Salary xx|Position az|2015|Info 1|Info 2|Info 3|Info 4|Info 5|Address xxxz|Info 6|Info 7|Info 8 

-t указывает разделитель полей.

Чтобы присоединиться к работам, файлы должны сортироваться. Вы можете использовать sort для него.

С awk :

 $ awk 'BEGIN{FS=OFS="|"}NR==FNR{a[$1]=$0;next}{$1=a[$1]}1' file_1 file_2 14595|Age 35|Salary xx|Position ax|2013|Info 1|Info 2|Info 3|Info 4|Info 5|Address xx|Info 6|Info 7|Info 8 14649|Age 30|Salary xx|Position az|2015|Info 1|Info 2|Info 3|Info 4|Info 5|Address xxxz|Info 6|Info 7|Info 8 
  • Вывод команды parse
  • Как извлечь часть текста из файла?
  • Заменить текст многострочным шаблоном
  • Как использовать переменные окружения в регулярном выражении в awk?
  • Как извлечь несколько строк, разделенных запятой из файла журнала?
  • Как добавить строку в первое поле вывода с помощью awk?
  • помощь awk для печати из определенного столбца до конца
  • Удалите слова (буквы, за которыми следует пробел) из определенного столбца
  • Анализ вывода команды df с помощью awk
  • Использовать вывод из awk в качестве входа для mv
  • Как вырезать метки времени из файла?
  • Обработка текста с использованием sed / awk / perl
  • Interesting Posts

    pfsense: прозрачный прокси squid не работает в режиме моста

    Что считается «идеальным» в отношении использования stdout / stderr для вывода в разных ситуациях?

    Как убить все процессы пользователя, используя их UID

    Linux встроен: изменить часовой пояс

    Является ли архивирование всей файловой системы из корня эффективной стратегией резервного копирования?

    Откройте порт в моем CentOS

    Как реализовать подстановку процесса (используя скрипт bash) в оболочке, которая не имеет этого?

    Выполнение сценария оболочки на нескольких серверах

    make install – как использовать wget, а не завивать

    Текстовый файл процесса – Извлечь данные, начиная с номера

    Вывод терминала неверно

    Выполнение команд по нескольким файлам и предоставление каждому из них уникального имени

    Fedora 16 не загружается

    Условный awk через 4 столбца

    Создание и установка RAM-диска при запуске компьютера

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