Seite 1 von 1

Php Script zum "Verkleinern" einer Datei bitte :)

Verfasst: 14.09.2006, 13:46
von ypsie
Liebe Leute!

Ich habe eine große Datei (6.5MB) mit Datensätzen wie:

"2.6.190.56","2.6.190.63","33996344","33996351","GB","United Kingdom"
"62.13.192.0","62.13.223.255","1041088512","1041096703","AT","Austria"
"62.24.0.0","62.24.31.255","1041760256","1041768447","DE","Germany"
"62.32.0.0","62.32.31.255","1042284544","1042292735","CH","Switzerland"
"62.32.128.0","62.32.255.255","1042317312","1042350079","PL","Poland"
...

Das geht ewig so weiter. Die Datei ist zu groß um sie in meine MySql Datenbank zu laden. (Gibt es einen Weg das zu tun? PhpMyAdmin schafft keine so großen Dateien).

Nun will ich ein kleines Script, dass die Datei öffnet und alle Zeilen bis auf die mit "AT" "DE" und "CH" herauslöscht.

Bitte um genaue Hilfe!
(Ich kann kaum bis nicht Php)

lg, julian

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 14.09.2006, 14:51
von Hasenhuf
So ein Problem hatte ich doch auch mal.
https://www.abakus-internet-marketing.d ... zen+zeilen
Der Unterschied ist nur, daß Du alles löschen willst, was ein paar Zeichenketten nicht enthält. Das sollte aber machbar sein.

PS: Vielleicht paßt die Datei noch ins Excel (max. 65t Zeilen glaube ich), dann brauchst Du nicht erst mit sed und grep anfangen. Erst am "," trennen, dann eine Spalte mit fortlaufenden Zahlen einfügen, dann nach Ländern sortieren, dann die "falschen" Zeilen löschen, dann nach fortlaufenden Zahlen sortieren, dann die Spalte wieder löschen, dann speichern (txt oder so) und am Ende alle Tabulatoren durch "," ersetzen (mit Editor nicht mit Excel).

Verfasst: 14.09.2006, 14:57
von Alpinist
Dies soll ganz gut sein, habs aber selbst noch nicht ausprobiert:
https://www.mysqldumper.de/de/index.php

Vielleicht kannst Du Deine Daten einfach dahin übernehmen.

Oder wenn es nicht einfach geht:
- Du erstellst dir eine lokale DB
- Setzt das Timeout hoch genug (dann kannst du die paar Date reinladen)
- Führst ein BackUp mit dem mysqldumper aus
- Kopierst das Backup auf deinen Server
- Kopierst mit mysqldumper die Daten 'wieder' in deine DB

Grüße