Ich habe dieses Problem:
Ich brauche manchmal große Textdateien zu verarbeiten.
In einigen Fällen weiß ich, dass die Daten, die mir wichtig sind, im Endstück der Datei sind. Wenn ich normal geöffnet benutze, muss ich durch die Zeilen scrollen. Gibt es eine Möglichkeit, "vom Ende zu starten" und Zeit zu sparen, vielleicht die Datei rückwärts zu lesen?In TCL, öffne ich eine Datei aus dem Schwanz
Antwort
Sie können den seek
Befehl:
set linesz 256 ; # assume an approximate line size
set fh [open myfile.txt]
seek $fh [expr {$linesz*-5}] end
gets $fh line ; # this first line is probably a partial line, ignore it.
while { [gets $fh line] >= 0 } {
# process
}
close $fh
Referenzen: seek
Die einzigen Komplikationen bei diesem Ansatz bestehen darin, die Rate für die Zeilenlänge und die Anzahl der zurückzulegenden Zeilen zu berechnen ("-5"). Um gute Werte für sie zu erhalten, müssen die Daten bekannt sein. –
Wenn die Länge der Datenzeile sehr variabel ist oder die Kenntnis der Daten gering ist, müssen die Zeilengröße und/oder die Anzahl der zurückzuleitenden Zeilen erhöht werden. –
Ich sehe, dass es keine Möglichkeit gibt, dies in einer genauen Weise, d. H. Rätselraten müssen verwendet werden. Ich vermutete so viel, wollte nur sicher sein – user1134991
- 1. Binär "Schwanz" eine Datei
- 2. Wie öffne ich eine URL von Tcl/Tk unter Linux
- 3. Wie öffne ich eine Datei in iOS?
- 4. Wie öffne ich eine Datei in C++?
- 5. Wie öffne ich eine Datei in Sudoku?
- 6. Wie öffne ich eine Datei in MATLAB?
- 7. Wie öffne ich eine Datei von Vim aus?
- 8. Wie öffne ich eine PDF-Datei in Android aus dem Assets-Ordner?
- 9. Wie öffne ich eine Datei durch Python
- 10. Wie öffne ich eine .bundle-Datei
- 11. Wie öffne/laufe ich eine YML-Datei?
- 12. Wie öffne ich eine .a Datei
- 13. Wie öffne ich eine .class-Datei?
- 14. Wie öffne ich eine .FIC-Datei?
- 15. Wie öffne ich eine Datei im Benutzerordner
- 16. Wie öffne ich eine hxs-Datei?
- 17. Mehrere Zeilen in eine TCL-Datei schreiben
- 18. eine Zeile einer tcl-Datei in gVim
- 19. Wie öffne ich eine Seite mit dem Titel in PHP?
- 20. Wie Benutzer aus Tcl-Datei ändern
- 21. Wie öffne ich eine Datei mit einer bereits geöffneten Datei?
- 22. Wie öffne ich eine XLS-Datei mit Excel in VB
- 23. , wie aus einer tcl Datei sed verwenden
- 24. Wie öffne ich eine .accdb Datei in Ubuntu?
- 25. Wie öffne ich eine Datei in einer Anwendung und drücke die Tasten aus der Batch-Datei?
- 26. Wie öffne ich eine In-Memory-Datenbank-Datei in sqlite3
- 27. Wie öffne ich eine PDF-Datei in iOS?
- 28. awk Befehl, um doppelte Zeilen aus tcl-Datei zu löschen und in eine andere tcl-Datei zu drucken
- 29. Wie öffne ich eine .txt-Datei in Flask?
- 30. Wie öffne ich Datei/Verzeichnis?
Was meinst du mit "blättern"? Willst du mit der Maus/Pfeiltasten scrollen oder meinst du Zeile für Zeile lesen? – slebetman
Überprüfen Sie den Befehl ['seek'] (https://tcl.tk/man/tcl8.6/TclCmd/seek.htm). –