10 Stimmen

Wie kann ich in Perl Zeilen vom Ende einer Datei lesen?

Ich arbeite an einem Perl-Skript, um eine CSV-Datei zu lesen und einige Berechnungen durchzuführen. CSV-Datei hat nur zwei Spalten, etwa wie unten.

One Two
1.00 44.000
3.00 55.000

Diese CSV-Datei ist sehr groß, sie kann zwischen 10 MB und 2 GB groß sein.

Derzeit nehme ich eine CSV-Datei mit einer Größe von 700 MB. Ich habe versucht, diese Datei in Notepad und Excel zu öffnen, aber es sieht so aus, als würde keine Software sie öffnen.

Ich möchte vielleicht die letzten 1000 Zeilen aus der CSV-Datei lesen und die Werte sehen. Wie kann ich das tun? Ich kann die Datei nicht in Notepad oder einem anderen Programm öffnen.

Wenn ich ein Perl-Skript schreibe, muss ich die gesamte Datei verarbeiten, bis zum Ende der Datei gehen und dann die letzten 1000 Zeilen lesen.

Gibt es einen besseren Weg dorthin? Ich bin neu in Perl und bin für jeden Vorschlag dankbar.

Ich habe das Netz durchsucht und es gibt einige Skripte wie File::Tail aber ich weiß nicht, ob sie unter Windows funktionieren?

-1voto

skiphoppy Punkte 89474

Sie sollten unbedingt File::Tail oder besser noch ein anderes Modul verwenden. Es ist kein Skript, es ist ein Modul (Programmierbibliothek). Es funktioniert wahrscheinlich unter Windows. Wie jemand schon sagte, können Sie dies auf CPAN Testers überprüfen, oder oft auch nur durch Lesen der Moduldokumentation oder einfaches Ausprobieren.

Sie haben die Verwendung des Tail-Dienstprogramms als bevorzugte Antwort gewählt, aber das wird unter Windows wahrscheinlich mehr Kopfzerbrechen bereiten als File::Tail.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X