У меня есть большой файл A (состоящий из электронных писем), одна строка для каждой почты. У меня также есть другой файл B, который содержит другой набор писем, но в MD5.
Который команда была бы я использовать для удаления всех адресов, которые существуют в md5 файле B из файла A.
Так, если файл содержавший:
A
B
C
и файл B содержал:
9d5ed678fe57bcca610140957afab571
f623e75af30e62bbd73d6df5b50bb7b5
3a3ea00cfc35332cedf6e5e9a32e94 дальтона
(это - буквы B D E, но в MD5),
Затем с файлом A нужно оставить:
A
C
Любая справка очень ценилась бы! Кто-то, конечно, подойдет и поможет мне
Вот немного сценария 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
), и это распечатает вывод, который Вы хотите.