Datenvergleich

  • Als neues Loginsystem benutzen wir die Wacken.ID. Damit du deinen jetzigen Account im Wacken Forum mit der Wacken.ID verknüpfen kannst, klicke bitte auf den Link und trage deine E-Mail Adresse ein, die du auch hier im Forum benutzt. Ein User mit deinem Benutzernamen und deiner E-Mail Adresse wird dann automatisch angelegt. Du bekommst dann eine E-Mail und musst deine Wacken.ID bestätigen.

    Sollte es Probleme geben, schreibt uns bitte.

    Klicke hier, um deinen Account in eine Wacken.ID zu migrireren.

critter

W:O:A Metalhead
23 Sep. 2002
3.832
0
61
49
Düsseldorf
Website besuchen
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)
 

tuxracer

W:O:A Metalhead
7 Apr. 2002
1.533
0
61
52
Nürnberg
www.rosiak.de
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);
#####################################