Есть такой список, [email protected];adad [email protected];a123az [email protected];adaa148ss [email protected];adadagudu uasdhayu22hotmail.com;123123a и т.д..и много других почт. сервисов, чем можно отсортировать по mail.ru, hotmail.com, yahoo.com, yandex.ru, rambler.ru, aol.com... так: [email protected];a123az [email protected];adadagudu [email protected];adaa148ss [email protected];adad [email protected];adasasda думаю поняли)
Вот мой вариант, консольный, кроссплатформенный. В качестве аргумента передать имя файла, который необходимо отсортировать. Для каждого домена будет создан свой текстовый файл + проверка на неправильный формат. P.S. Для работы необходим Python (www.python.org) Code: #!/usr/bin/env python #-*-encoding:UTF-8-*- #(c) modestus import sys try: input_file = sys.argv[1] except IndexError: print u"Первым аргументом необходимо передать имя исходного файла" else: handlers = { "$source$":open(input_file), "$bad_format$": open("bad_format.txt", "a") } print u"Обрабатывается файл '{0}'".format(input_file) for line in handlers["$source$"]: line = line.strip("\r\n") pos_1 = line.find("@") pos_2 = line.find(";") domain = line[pos_1+1:pos_2] if not domain: handlers["$bad_format$"].write("{0}\n".format(line)) else: try: if not domain or pos_1 <= 0 or pos_2 <= 0 : handlers["$bad_format$"].write("{0}\n".format(line)) elif domain not in handlers: handlers[domain] = open(u"{0}.txt".format(domain.replace(".", "_")), "a") handlers[domain].write("{0}\n".format(line)) else: handlers[domain].write("{0}\n".format(line)) except OSError: handlers["$bad_format$"].write("{0}\n".format(line)) for handler in handlers: handlers[handler].close() print u"Файл '{0}' обработан".format(input_file) raw_input()
Code: @echo off del tmp.tmp, tmp2.tmp>nul FOR /F "tokens=1,2 delims=@" %%a in (%1) DO (echo %%b;%%a>>tmp.tmp)>nul sort /o "%~dp0tmp2.tmp" "%~dp0tmp.tmp">nul echo.>%1 FOR /F "tokens=1,2 delims=;" %%c in (tmp2.tmp) DO (echo %%d@%%c>>%1)>nul del tmp.tmp, tmp2.tmp>nul сохрани это как bat.bat потом запусти в папке с mails.txt: Code: bat.bat mails.txt
MailWork хорошо сортирует мыло по домену, особенно старая весрсия 1.0, в ней можно самому указать нужный домен. зы. Немного уточну, он какбы не сортирует, а выдергиваем мыла из общего списка по конкретному домену.
В .exe щас не смогу - нету всего нужного. Пошагово, чтоб запустить: Скачать и установить => http://python.org/ftp/python/2.7/python-2.7.msi Скачать sorter.py => http://www.sendspace.com/file/j6zz7r Скопировать скачанный файл (sorter.py) в корень диска С, к нему же положить исходный файл с базой. Пуск => Выполнить => cmd => ENTER => в черном окошке ввести команду "cd C:\" => ENTER => sorter.py имя_файла_с_базой (например, "sorter.py base.txt") => ENTER ... PROFIT !
с bat.bat не работает что-то, в икселе не разберусь) напишите мне 622-677, кто мне точно поможет) или объяснит
Вот еще хороший сортировщик по зонам от Буша: https://forum.antichat.ru/thread137584.html ...может кому пригодится. Частенько к нему прибегаю