Es kommt vor, dass ich das letzte Wort haben will. n
Zeilen einer sehr großen Textdatei effizient .
Das erste, was ich versucht habe, ist tail -n 10000000 file.txt > ans.txt
aber ich fand es sehr langsam, denn tail
muss den Ort suchen und dann zurückgehen, um die Ergebnisse zu drucken.
Wenn ich das merke, wechsle ich zu einer anderen Lösung: tac file.txt | head -n 10000000 > ans.txt
. Diesmal muss die Suchposition nur vom Ende an die gewünschte Stelle verschoben werden und 50 % Zeitersparnis !
Die Botschaft zum Mitnehmen:
Utilisez tac file.txt | head -n n
wenn Ihr tail
hat nicht die -r
Option.
8 Stimmen
Wichtiger Hinweis zum Vertauschen der Linien: Vergewissern Sie sich, dass Ihre Datei einen abschließenden Zeilenumbruch enthält. Erstens. Andernfalls werden die letzten beiden Zeilen einer Eingabedatei in einer Ausgabedatei zu einer Zeile zusammengefügt (zumindest bei Verwendung der Option
perl -e 'print reverse <>'
aber das gilt wahrscheinlich auch für andere Methoden).1 Stimmen
Mögliche Duplikate von Wie kann man Zeilen einer Textdatei umkehren?
0 Stimmen
Außerdem ist es fast ein Duplikat (wenn auch älter) von unix.stackexchange.com/questions/9356/ . Wie in diesem Fall ist eine Migration zu unix.stackexchange.com wahrscheinlich angebracht.