Удалите Строки из Файла, которые появляются в другом Файле MD5

У меня есть большой файл A (состоящий из электронных писем), одна строка для каждой почты. У меня также есть другой файл B, который содержит другой набор писем, но в MD5.

Который команда была бы я использовать для удаления всех адресов, которые существуют в md5 файле B из файла A.

Так, если файл содержавший:

A

B

C

и файл B содержал:

9d5ed678fe57bcca610140957afab571

f623e75af30e62bbd73d6df5b50bb7b5

3a3ea00cfc35332cedf6e5e9a32e94 дальтона

(это - буквы B D E, но в MD5),

Затем с файлом A нужно оставить:

A

C

Любая справка очень ценилась бы! Кто-то, конечно, подойдет и поможет мне

1
задан 6 March 2017 в 21:49

1 ответ

Вот немного сценария Python, который сделает это:

#!/usr/bin/env python
import sys
import hashlib

with open(sys.argv[2]) as hashfile:
    hashes = set(hashfile.read().splitlines())

with open(sys.argv[1]) as emailfile:
    for email in emailfile:
        email = email.rstrip('\n')
        md5 = hashlib.md5()
        md5.update(email)
        if md5.hexdigest() not in hashes:
            print email

Передайте его названия Ваших файлов как аргументы (например, python whatever_name_you_save_it_as.py file_A file_B), и это распечатает вывод, который Вы хотите.

0
ответ дан 8 December 2019 в 06:20

Другие вопросы по тегам:

Похожие вопросы: