Letzten Zeilen einer Datei löschen

D

drm

Eroberer
Hallo Leute,
ich habe eine riesige Datei (ca. 300 MB) und möchte die letzten Zeilen löschen. Leider kann man aufgrund der Größe der Datei diese nicht mehr mit dem vi bearbeiten :-(
Beispieldatei - nur viel viel kleiner *g*:
Code:
12346554334;;;;;;;;simsang
25708968500;;;;;;;;orpit
89897246577;;;;;;;;zol
43798948484;;;;;;;;wamen
....
  zeile ist hier falsch
  wie krieg ich die weg
  falsche Zeilen haben ein Leerzeichen am Anfang
  usw....
So, die letzten Zeilen - die gelöscht werden können - haben ein Blank am Anfang. Hat jemand eine Idee wie ich die rausbekomme?
 
cat datei | sed -e '/^[ ]/d'
löscht alle Zeilen mit mindestens einem Leerzeichen am Anfang. Das musst du dann noch in eine andere Datei umleiten...
 
Kein UUOC bitte.

Wenn GNU Sed dann:

sed -i '/^\s\+/d' DATEI
 
Super, vielen Dank!!!

Hab's so gelöst wie Ferchault es beschrieben hat:
Code:
cat dateiname | sed -e '/^[ ]/d' >> dateiname_neu

@smg: Was bedeutet kein UUOC???
Außerdem bekomme ich bei deinem Code folgende Meldung:
sed: Ungültige Option -- i

Weitere Fragen:
Was ist der Unterschied zwischen -e und -i?
 
@niLs: Besten Dank
Dann wird es so wohl besser sein:
Code:
sed -e '/^[ ]/d' dateiname >> dateiname_neu

Hat noch jemand netterweise Antworten für meine obigen Fragen?
 
man sed hat netterweise die Antwort auf deine obrige Frage:
Code:
-e script, --expression=script
             add the script to the commands to be executed
Code:
-i[SUFFIX], --in-place[=SUFFIX]
               edit files in place (makes backup if extension supplied)
gruss
d22
 

Ähnliche Themen

3 letzte Zeile löschen oder ab Zeile 55 Muster suchen und löschen

SED letzte Zeile löschen

Letzten Tag löschen

Zeilen löschen und ersetzen mit sed

Doppelte Dateien löschen.

Zurück
Oben