Сравните файл A и файл B (частичное совпадение) в Linux - PullRequest
0 голосов
/ 29 ноября 2018

Прежде всего, спасибо, что нашли время прочитать это и попытаться решить мою проблему.Теперь к проблеме:

У меня есть два txt-файла: "serials" и "list".Мне нужно сравнить файл "list" с файлом "serials", чтобы выяснить, остались ли у меня еще какие-либо серийные номера для конкретного программного обеспечения, поэтому в основном показывают те имена (в моем примере: MS Office 2016, 2013, 365), которые не имеютсовпадения в файле "serials", поэтому я больше не предлагаю их для продажи.

Я попытался использовать команду "grep"

grep -v -F -x list.txt serials.txt

, однако, похоже, что проблема в файле«Серийные номера» имеют формат:

MS Office 2016 - XXXX-XXXX-XXXX

MS Office 2013 - XXXX-XXXX-XXXX

Ms Office 365 - XXXX-XXXX-XXXX

, в то время как файл «list» очень прост:

MS Office 2016

MS Office 2013

MS Office 365

Может кто-нибудь помочь мне, как указать команду для получениявывод имен, которые больше не являются частью serials.txt?

1 Ответ

0 голосов
/ 29 ноября 2018

Несколько способов сделать это с помощью Shell / Perl / Python и т. Д. Если я правильно понимаю ваши требования, в Bash есть один вариант:

cat list | while read product
do
    num_lic=$( grep -wc $product serials )
    if [ $num_lic -eq 0 ]
    then
        echo $product
    fi
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...