Intereting Posts
Как получить предложения по автоматическому пакету в командной строке? Где было бы лучшим местом для монтирования распределенной файловой системы? Печатать текст между тегами (включительно), если обнаружен определенный текст Добавление файлов в Linux readonly-root ddrescue возобновляет операцию спасения в другой файл изображения Обновлен с Linux Mint 17.1 до 19. Теперь gstreamer случайно пропускает и заикается (In) значение и tty корневых процессов Как просмотреть журналы iptables в systemd Как я могу получить доступ к буферу истории в sh? (не в Баше) Как grep «блокировать» строки из странного файла Как драйвер vlan передает информацию о vlan в h / w ethernet-драйвер Отображение потоков уровня на уровне ядра, потоки пользовательского уровня для процессов / потоков Не удается перезапустить массив RAID6; пропавших личностей? LFS 7.10 – почему я получаю сообщение об ошибке при использовании команды make для expect-5.45 Linux: могу ли я создать ярлык для сложной команды cd, не прибегая к сценарию оболочки?

Как выводить сравнение значений в отдельных файлах

Имеются следующие два файла с именами сборки и номерами версий:

server.txt

Build2 200 Build3 100 Build1 400 Build7 200 

local.txt

 Build1 300 Build2 200 Build3 100 

В моей ситуации два списка не обязательно в порядке или имеют одинаковое количество значений.

Строка «Обновлена», если локальное значение совпадает с значением сервера. Как я могу создать вывод, который отображает, является ли вывод «обновленным» или «устаревшим», например, пример ниже:

 Build2 Updated Build3 Updated Build1 Out-of-date Build7 Out-of-date 

Типичное решение с awk :

 awk ' NR==FNR { k[$1] = $2; next } { print $1, (k[$1] == $2) ? "Updated" : "Out-of-date" } ' local.txt server.txt