Entfernen der ersten N Zeilen einer Datei in der unix-Kommandozeile

Ich versuche zu entfernen, die ersten 37 Zeilen aus einer sehr, sehr großen Datei. Ich habe den Versuch gestartet, sed und awk, aber Sie scheinen zu verlangen, das kopieren der Daten in eine neue Datei. Ich bin auf der Suche nach einem "entfernen von Zeilen in-place" - Methode, dass im Gegensatz zu sed -i ist nicht die Herstellung von Kopien jeder Art, sondern ist nur das entfernen von Zeilen aus der alten Datei.

Hier ist, was ich getan habe...

awk 'NR > 37' file.xml > 'f2.xml'
sed -i '1,37d' file.xml

Beide scheinen, um eine vollständige Kopie. Gibt es irgendeine andere einfache Befehlszeilenschnittstelle, die dies tun können schnell ohne ein vollständiges Dokument-traversal?

  • Beide sed -i und gawk v4.1 -i -inplace Optionen sind grundsätzlich erzeugen der temporären Datei hinter die kulissen. IMO sed werden sollte, der schneller als tail und awk.
InformationsquelleAutor Mittenchops | 2013-06-26
Schreibe einen Kommentar