Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Porównanie 2 dużych plików tekstowych.
robroy83
post 20.07.2010, 12:00:16
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 20.07.2010

Ostrzeżenie: (0%)
-----


Cześć wszystkim.

Chciałbym wykorzystać PHP do stworzenia skryptu do porównania dwóch plików tekstowych o rozmiarze ~kilkaset MB każdy z linii komend. Struktura obydwu jest mniej więcej taka:

^L
RekordA

PoleA1 WartośćA1
PoleA2 WartośćA2
PoleA3 WartośćA3

^L

^L
RekordB

PoleB1 WartośćB1
PoleB2 WartośćB2
PoleB3 WartośćB3

^L

...

Znak "^L" to Form Feed (0c hex).

Kolejność "rekordów" (w powyższym przykładzie są 2: zielony i niebieski, oddzielone ^L^L) jest zmienna w obydwu plikach.

Wstępnie zarys tematu widzę tak, że mógłbym:
- wczytać obydwa pliki do pamięci RAM do dwóch odrębnych tablic, których poszczególne elementy będą zawierały "rekordy" (dane od ^L do ^L);
- porównać potem poszczególne elementy powyższych tablic ("rekordy").

Pytania:
1) Nie wiem w jaki sposób podzielić wspomniane pliki danych na kawałki pod względem elementu ^L. Mógłby ktoś podpowiedzieć rozwiązanie?
2) Czym najlepiej było by porównywać "rekordy"? Chodzi o porównanie znak po znaku (linijka po linijce) danych tekstowych, zastanawiam się nad użyciem polecenia Unix diff...
3) Jakie problemy ewentualnie mogą być związane z wczytywanie tak dużych (~kilkaset MB) plików do RAM-u?

Dzięki za wszelką pomoc winksmiley.jpg

Pozdrawiam,
Rafał.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.06.2025 - 19:14