Ben aşağıdaki gibi görünen bir log dosyası var:
2010-05-12 12:23:45 Some sort of log entry
2010-05-12 01:45:12 Request XML: <RootTag>
<Element>Value</Element>
<Element>Another Value</Element>
</RootTag>
2010-05-12 01:45:32 Response XML: <ResponseRoot>
<Element>Value</Element>
</ResponseRoot>
2010-05-12 01:45:49 Another log entry
Ne yapmak istiyorum istek ve Tepki XML ayıklamak (ve sonuçta kendi tek dosyalara koyucak) 'dir. Ben egrep kullanılan benzer bir ayrıştırıcı vardı ama XML, tek bir satır yukarıdaki gibi birden fazla olanlar değildi.
Günlük dosyaları 500-600 megs bir günlük vurmak, ayrıca biraz büyük. Küçük günlükleri bir PHP komut dosyası aracılığıyla okumak ve regex eşleştirme kullanabilirsiniz, ancak böyle büyük bir dosya için gerekli bellek miktarı fazla muhtemel senaryoyu öldürmek olurdu.
Birden hatları ayıklamak ya da ben kabullenmesini ve ayıklamak için tüm dosya okumak için Perl ve PHP kullanmak zorunda gidiyorum bir Linux kutusu üzerinde yerleşik araçlar (bu durumda CentOS) kullanarak kolay bir yolu var mı?