сортировщик доменов

Discussion in 'Болталка' started by zarkon, 3 Nov 2008.

  1. zarkon

    zarkon Elder - Старейшина

    Joined:
    22 Nov 2006
    Messages:
    403
    Likes Received:
    98
    Reputations:
    76
    Подскажите софт или скрипт что бы можно было большое количество смешеных доменов отсортировать по домменным зонам...
     
    #1 zarkon, 3 Nov 2008
    Last edited: 3 Nov 2008
  2. SkyS

    SkyS Elder - Старейшина

    Joined:
    17 Nov 2007
    Messages:
    52
    Likes Received:
    31
    Reputations:
    0
    хз Эксэль:)
     
  3. zarkon

    zarkon Elder - Старейшина

    Joined:
    22 Nov 2006
    Messages:
    403
    Likes Received:
    98
    Reputations:
    76
    так он жешь не отсортирует имена в алфавитном порядке после первой точки ...
     
    #3 zarkon, 3 Nov 2008
    Last edited: 3 Nov 2008
  4. SkyS

    SkyS Elder - Старейшина

    Joined:
    17 Nov 2007
    Messages:
    52
    Likes Received:
    31
    Reputations:
    0
    Сорри, зачит ступил=(
     
  5. Dian

    Dian Elder - Старейшина

    Joined:
    2 Sep 2008
    Messages:
    57
    Likes Received:
    11
    Reputations:
    4
    cat + grep
     
  6. alextrust

    alextrust Member

    Joined:
    29 Mar 2010
    Messages:
    134
    Likes Received:
    27
    Reputations:
    11
    тоже ищу такой софт
     
  7. Mr.Replica

    Mr.Replica Member

    Joined:
    18 May 2010
    Messages:
    124
    Likes Received:
    41
    Reputations:
    10
    пиши сам ,делов на 3 минуты.Либо Mailwork
     
  8. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    набросал по быстрому:

    Code:
    #include <iostream>
    #include <fstream>
    #include <algorithm>
    #include <string>
    #include <vector>
    
    bool compare( std::string a, std::string b ) {
    	return a.substr( a.find_last_of( "." ) + 1, a.length() ) < b.substr( b.find_last_of( "." ) + 1, b.length() );
    }
    
    int main() {
    	std::ifstream inFile;
    	std::ofstream outFile;
    	std::vector < std::string > domains;
    	std::string inputFileName;
    	std::string outputFileName;
    
    	std::cout << "Enter an input file name: ";
    	std::cin >> inputFileName;
    
    	std::cout << "Enter an output file name: ";
    	std::cin >> outputFileName;
    
    	inFile.open( inputFileName.c_str(), std::ios::in );
    	outFile.open( outputFileName.c_str(), std::ios::out );
    
    	if( !inFile || !outFile ) {
    		std::cerr << "Can't open file!\n";
    		return 1;
    	}
    
    	std::string temp;
    	while( !inFile.eof() ) {
    		inFile >> temp;
    		domains.push_back( temp );
    	}
    
    	std::sort( domains.begin(), domains.end(), compare );
    
    	for( size_t i = 0; i < domains.size(); i++ )
    		outFile << domains.at( i ) << std::endl;
    
    	return 0;
    }
    
    бинарь:
    http://dl.dropbox.com/u/29025286/Different_sucks/programm3.exe

    начальный файл:
    Code:
    aaaaaaaa.we
    bbbbbb.bc
    ccccccc.au
    ddddddddd.ua
    eeeeeeeee.aa
    ffffffff.kz
    конечный файл:
    Code:
    eeeeeeeee.aa
    ccccccc.au
    bbbbbb.bc
    ffffffff.kz
    ddddddddd.ua
    aaaaaaaa.we
     
  9. alextrust

    alextrust Member

    Joined:
    29 Mar 2010
    Messages:
    134
    Likes Received:
    27
    Reputations:
    11
    Ins3t
    отлично)
    огромное спасибо
     
  10. Mr.Replica

    Mr.Replica Member

    Joined:
    18 May 2010
    Messages:
    124
    Likes Received:
    41
    Reputations:
    10
    ТЁТЬКИНЫ СИСЬКИ :eek: :eek: :eek: :eek: Археологи :eek: :eek: :eek:
     
  11. devton

    devton Elder - Старейшина

    Joined:
    26 Oct 2007
    Messages:
    3,380
    Likes Received:
    5,179
    Reputations:
    48
    раскидать файл с доменами 2-го уровня можно вот так:

    FOR /F "tokens=1,2 delims=." %%a in (mails.txt) DO (echo %%a.%%b>>%%b)>nul

    получится куча файлов с именами типа "mail.ru" "yahoo.com" итп. потом уже с файлами сделаешь что надо
     
  12. devton

    devton Elder - Старейшина

    Joined:
    26 Oct 2007
    Messages:
    3,380
    Likes Received:
    5,179
    Reputations:
    48
    я на один знак ошибся :) чтоб именно по доменам первого уровня раскидало надо

    @echo off
    FOR /F "tokens=1,2 delims=." %%a in (mails.txt) DO (echo %%a.%%b>>%%b.txt)>nul