У меня есть два пакета (несколько сотен сертификатов в каждом), закодированные в base64, поэтому:
-----BEGIN CERTIFICATE-----
hash
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
hash2
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
hash3
-----END CERTIFICATE-----
(...)
Несколько сертификатов (довольно много, я бы сказал) присутствуют в обоих пакетах, некоторые уникальны.
Мне нужно объединить их в один файл и избежать дубликатов. Я пытался сортировать - но так как каждый сертификат состоит из нескольких строк, это просто уничтожило файлы.
Я не женат на идее, состоящей из одной строки - всего, что выполняет работу, без необходимости вручную просматривать каждый файл.
РЕДАКТИРОВАТЬ: У меня есть идея, и начал некоторые действия по ней. В общем, мне удалось разделить пакеты на отдельные файлы:
Я сделал небольшой шаг ... Используя awk, я разделил файлы на отдельные сертификаты:
$ cat bundle-t.crt | awk '/BEGIN/ { i++; } /BEGIN/, /END/ { print > i ".t.extracted.crt" }'
$ cat bundle-a.crt | awk '/BEGIN/ { i++; } /BEGIN/, /END/ { print > i ".a.extracted.crt" }'
Теперь у меня естьболее 400 файлов с именами 1.t.exctracted.crt, 1.a.extracted.crt и так далее. Все они имеют разные имена, некоторые имеют одинаковое содержание. Следующим шагом будет поиск дубликатов контента, который кажется одинаково трудным.