Ich habe eine große Anzahl von Dateien, von denen einige sehr lang sind. Ich möchte sie auf eine bestimmte Größe kürzen, wenn sie größer sind, indem ich das Ende der Datei entferne. Ich möchte aber nur ganze Zeilen entfernen. Wie kann ich das machen? Es fühlt sich an wie die Art von Dingen, die von der Linux-Toolchain gehandhabt werden, aber ich kenne nicht den richtigen Befehl.
Angenommen, ich habe eine Datei mit 120.000 Byte und 300 Byte Zeilen und versuche, sie auf 10.000 Byte zu kürzen. Die ersten 33 Zeilen sollten bleiben (9900 Bytes) und der Rest sollte abgeschnitten werden. Ich möchte nicht auf 10.000 Bytes genau schneiden, da dies eine Teilzeile hinterlassen würde.
Natürlich sind die Dateien unterschiedlich lang und die Zeilen sind nicht alle gleich lang.
Idealerweise werden die resultierenden Dateien eher etwas kürzer als etwas länger (wenn sich der Haltepunkt in einer langen Zeile befindet), aber das ist nicht allzu wichtig, es könnte etwas länger sein, wenn das einfacher ist. Ich möchte, dass die Änderungen direkt an Dateien vorgenommen werden (naja, möglicherweise wird die neue Datei an eine andere Stelle kopiert, das Original gelöscht und die neue Datei verschoben, aber das ist das gleiche aus der Sicht des Benutzers). Eine Lösung, die Daten an eine Reihe von Stellen und wieder zurückleitet, bietet die Möglichkeit, die Datei zu beschädigen, und ich möchte dies vermeiden ...