Wie lese ich eine gzip-Datei Zeile für Zeile?

8

Ich habe eine gzip-Datei und momentan lese ich es so:

%Vor%

Ich denke, das konvertiert die Datei in eine Zeichenkette, aber ich möchte sie Zeile für Zeile lesen.

Was ich erreichen möchte, ist, dass die Datei einige Warnmeldungen mit etwas Müll enthält. Ich möchte diese Warnmeldungen dann in eine andere Datei schreiben. Aber einige Warnmeldungen werden wiederholt, so dass ich sicherstellen muss, dass ich sie nur einmal grepiere. Daher würde Zeile für Zeile lesen mir helfen.

    
infinitloop 30.12.2011, 21:08
quelle

3 Antworten

17

Sie sollten in der Lage sein, einfach den gzip-Reader wie bei regulären Streams zu durchlaufen ( gemäß den Dokumenten )

%Vor%     
Tigraine 30.12.2011, 21:11
quelle
1

Versuchen Sie Folgendes:

%Vor%     
Sergio Tulentsev 30.12.2011 21:10
quelle
1

Andere Antworten zeigen, wie man die Datei Zeile für Zeile liest, aber nicht wie man die Fehler nur einmal erfasst. Aufbauend auf @ Tigraines Antwort:

%Vor%

Set verhält sich wie Array, wird aber mit Hash erstellt, also ist es wie ein Hash, aber wir beschäftigen uns nur mit den Schlüsseln, d. h. es werden nur eindeutige Werte gespeichert. Wenn Sie versuchen, Duplikate hinzuzufügen, werden sie verworfen, und Sie erhalten nur die eindeutigen Werte. Du könntest ein Array verwenden und danach uniq , aber ein Set wird es für dich von vorne verwalten.

%Vor%     
the Tin Man 30.12.2011 23:40
quelle

Tags und Links