Ich habe ein paar Dateien mit einer Größe von jeweils> 1 GB. Ich muss die letzten paar Bytes aus den Dateien entfernen. Wie kann ich es tun? Ich bevorzuge es, die Datei an Ort und Stelle zu bearbeiten, um Speicherplatz zu sparen.
Ich bin auf HP-UX.
files
editors
hp-ux
large-files
Hemant
quelle
quelle
vim
hat ein 4G-Limit (könnte falsch sein), aber ich denke nicht, dass es es an Ort und Stelle tut (könnte falsch sein).Antworten:
Versuchen Sie es mit hexedit. Ich habe es unter HP-UX noch nicht ausprobiert, aber es sollte funktionieren. Hiermit können Sie an einen Speicherort in einer Datei verschieben und abschneiden. Ich bin mir ziemlich sicher, dass es nicht die gesamte Datei einliest, sondern nur nach dem geeigneten Ort für die Anzeige sucht.
Die Bedienung ist ziemlich einfach, sobald Sie sie gestartet haben. Mit den Pfeiltasten können Sie sich fortbewegen. F1 gibt Hilfe. Strg-G bewegt sich an eine Stelle in der Datei (Hinweis: Zum Beenden verwenden Sie die Größe der Datei aus der unteren Zeile der Anzeige). Positionieren Sie den Cursor auf das erste Byte, das Sie abschneiden möchten, und drücken Sie dann Escape T, sobald Sie bestätigt haben, dass das Abschneiden durchgeführt wurde. Strg-x wird beendet.
quelle
2 Kilobyte vom Dateiende abschneiden:
quelle
Sie können dd zum Beispiel verwenden:
quelle
Verwenden Sie ein Tool, mit dem Sie auf den
truncate
Systemaufruf zugreifen können. Dies ist nur mit POSIX-Tools möglich. Warnung, in einen Browser eingegeben; Seien Sie besonders vorsichtig, da diesdd
noch fehlerverzeihender ist als der übliche Unix-Befehl. 123456 ist die Anzahl der zu speichernden Bytes.Eine Perl-Version ist viel lesbarer:
quelle
Sie können verwenden
split
odered
,awk
oder jede Programmiersprache.quelle