Letzten Zeilen einer Datei löschen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von drm, 21.06.2007.

  1. drm

    drm Eroberer

    Dabei seit:
    29.08.2006
    Beiträge:
    59
    Zustimmungen:
    0
    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?
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Ferchault, 21.06.2007
    Ferchault

    Ferchault Eroberer

    Dabei seit:
    19.06.2007
    Beiträge:
    61
    Zustimmungen:
    0
    Ort:
    localhost
    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...
     
  4. smg

    smg Regex Fetischist

    Dabei seit:
    20.05.2007
    Beiträge:
    195
    Zustimmungen:
    0
    Ort:
    /home/stephan/
    Kein UUOC bitte.

    Wenn GNU Sed dann:

    sed -i '/^\s\+/d' DATEI
     
  5. drm

    drm Eroberer

    Dabei seit:
    29.08.2006
    Beiträge:
    59
    Zustimmungen:
    0
    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?
     
  6. niLs

    niLs òle òle

    Dabei seit:
    10.06.2004
    Beiträge:
    153
    Zustimmungen:
    0
    Ort:
    Hannover
    useless use of cat
     
  7. drm

    drm Eroberer

    Dabei seit:
    29.08.2006
    Beiträge:
    59
    Zustimmungen:
    0
    @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?
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    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
     
  10. #8 Wolfgang, 23.06.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Die Option -i (inplace) gibt es nicht bei allen sed-Varianten.
    Aber du hast eben diesen Hinweis nicht beachtet.

    Gruß Wolfgang
     
Thema:

Letzten Zeilen einer Datei löschen

Die Seite wird geladen...

Letzten Zeilen einer Datei löschen - Ähnliche Themen

  1. Prüfen ob ein Datum innerhalb letzten 2 Wochen liegt

    Prüfen ob ein Datum innerhalb letzten 2 Wochen liegt: Hallo, ich bräuchte eine Funktion die prüft ob ein Datum im Format tt.mm.JJJJ innerhalb der letzten 2 Wochen liegt. Oder anders ausgedruckt, ob...
  2. Skript - letzten Samstag im Monat

    Skript - letzten Samstag im Monat: Hallo zusammen, ich möchte gerne unser backup über ein skript starten lassen, dieses soll aber nur am letzten Samstag im Monat laufen. Ich...
  3. Letzten Tag löschen

    Letzten Tag löschen: Hi, ich bin ein absoluter Neuling mit bash Scripten, ah da ich bei einem Projekt in allen php Dateien die letzten, schließenden PHP-tags entfernen...
  4. Log archivieren bis auf die letzten drei

    Log archivieren bis auf die letzten drei: Hallo, ich möchte ein Script schreiben, dass mir alles Accesslogs archiviert, bis auf die letzten drei. Bisher mache ich das manuel, würde...
  5. Die letzten X Zeichen eines Strings einlesen - wie?

    Die letzten X Zeichen eines Strings einlesen - wie?: Hallo zusammen, ich bin auf der Suche nach dem Befehl, mitdem ich die letzen x Zeichen eines Strings auslesen kann. Soll heißen: String...