Datenvergleich

Dieses Thema im Forum "Talk" wurde erstellt von critter, 12. März 2003.

  1. critter

    critter W:O:A Metalhead

    Registriert seit:
    23. September 2002
    Beiträge:
    3.832
    Zustimmungen:
    0
    Ich brauchn Tool odern Weg, dass mir aus nem Intervall von 1000000-5999999 rausschmeisst, welche Zahlen schon vergeben sind.

    Konkret ich hab ne Liste aller 0180er Nummern der Regulierungsbehörde für Teledingensbumens, die vergeben sind und muss nu rausfinden welche noch frei sind.

    sprich von (0180) 1000000 - (0180) 5999999 alle Zahlen rausschmeissen die ich in der Liste hab. (Textdatei)
     
  2. tuxracer

    tuxracer W:O:A Metalhead

    Registriert seit:
    07. April 2002
    Beiträge:
    1.533
    Zustimmungen:
    0
    Wie wärs mit einem Perl Skript?

    Wenn du Linux hast oder Perl unter Windows installiert hast, kannst du dein Problem mit Perl lösen:

    in der Datei "allocated_numbers.txt" befinden sich die vergebenen Nummern (die von der Regulierungsbehörde), in die "free_numbers.txt" schreibt der Skript die freie Nummern.

    Speicher den Skript in der Datei "matchfiles.pl" und starte das Skript mit dem Kommando "perl matchfiles.pl"

    Wenn du kein Linux hast, installiere Cygwin, dort ist Perl bereits enthalten.
    http://www.cygwin.com/

    #####################################
    #!/usr/bin/perl

    $filef = './free_numbers.txt';
    $filea = './allocated_numbers.txt';

    open(FILEF, ">$filef");
    open(FILEA, $filea);

    for ($i = 1000000; $i <= 5999999; $i++)
    {
    $nfound = 0;
    seek(FILEA, 0, SEEK_SET);

    while ($line = <FILEA>)
    {
    if( $line =~ /$i/ )
    {
    $nfound = 1;
    last;
    }
    }

    if( $nfound == 0 )
    {
    print FILEF "(0180) $i\n";
    }
    }

    close(FILEF);
    close(FILEA);
    #####################################
     
  3. Beadhanger

    Beadhanger W:O:A Metalmaster

    Registriert seit:
    26. März 2002
    Beiträge:
    6.015
    Zustimmungen:
    0
    Aha!?!?!?
     

Diese Seite empfehlen