Leerzeilen per script löschen?

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von DukeNuke2, 27.07.2006.

  1. #1 DukeNuke2, 27.07.2006
    Zuletzt bearbeitet: 27.07.2006
    DukeNuke2

    DukeNuke2 Soulman

    Dabei seit:
    31.12.2003
    Beiträge:
    88
    Zustimmungen:
    0
    Ort:
    Berlin
    Gelöst: Leerzeilen per script löschen?

    Hallo Leute,
    ich schreibe grade an einem Script und muss aus einer Datei leerzeilen am Ende der Datei entfernen.
    Habt ihr eine Lösung wie man sowas am einfachsten machen kann?

    Beispiel:

    ip-adr. name
    ip-adr. name
    ip-adr. name
    leerzeile
    leerzeile
    leerzeile

    Aus der Datei sollen die letzten 3 (können auch mal 5 oder sonstwas sein) Zeilen (leerzeile = es steht nix drinn) entfernt werden. Ich hoffe ihr versteht was ich meine.

    tia,
    DN2
     
  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. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Schnellschuss mit perl:

    Code:
    perl -pi -e 's/^\n//' file
    
    Gruss, Xanti
     
  4. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Hallo
    Code:
    sed '/^$/d' 
    
    und du bist alle Leerzeilen los....

    Gruss
    d22
     
  5. #4 Wolfgang, 27.07.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Folgender Einzeiler löscht alle angehängten Leerzeilen.

    Code:
    sed -e :r -e '/^\n*$/{$d;N;};/\n$/br' Datei
    Gruß Wolfgang
     
  6. #5 DukeNuke2, 27.07.2006
    DukeNuke2

    DukeNuke2 Soulman

    Dabei seit:
    31.12.2003
    Beiträge:
    88
    Zustimmungen:
    0
    Ort:
    Berlin
    das script entfernt aber ALLE leerzeilen.... ich darf nur die am ende der datei entfernen. ansonsten schon mal danke!
     
  7. #6 Wolfgang, 27.07.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Dast tut mein Vorschlag. ;)
    Aber wenn du mit der Datei direkt arbeiten willst, dann musst du bei GNU sed mit -i arbeiten, oder alternativ mit temp-Dateien.

    Gruß Wolfgang
     
  8. #7 DukeNuke2, 27.07.2006
    Zuletzt bearbeitet: 27.07.2006
    DukeNuke2

    DukeNuke2 Soulman

    Dabei seit:
    31.12.2003
    Beiträge:
    88
    Zustimmungen:
    0
    Ort:
    Berlin
    @wolfgang

    danke für die hilfe... ich arbeite unter solaris und da gibt es den schalter "-i" nicht! ich kann aber jederzeit mit einer temp-datei arbeiten....
    übrigens dein vorschlag funktioniert bei mir nicht :( vllt gibts weitere unterschiede zwischen dem gnu-sed und dem solaris-sed?)sch

    ich hab grade mal mit gsed (hab ich aber nur aufm notebook) getestet, da hat "sed -e :r -e '/^\n*$/{$d;N;};/\n$/br' Datei" funktioniert. auf den systemen, wo das script laufen soll, ist aber kein gsed vorhanden (und darf auch nicht installiert werden) kann jemand den code von wolfgang auf solaris(ch) sed übersetzen? ;)
     
  9. #8 Xanti, 27.07.2006
    Zuletzt bearbeitet: 27.07.2006
    Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Stimmt, wieder zu schnell gelesen. sorry, die Hitze :brav:

    edit: Vielleicht geht folgendes, wenn's Probleme mit sed gibt:

    Code:
    perl -pi -0777 -e 's/\n+$/\n/' file
    
     
  10. Anzeige

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

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Hallo zusammen
    Code:
    sed -e :a -e '/^\n*$/{$d;N;ba' -e '}'
    
    das sollte auch auf Solaris funktioieren...
    Habs auf Solaris9 getestet.

    Gruss
    d22
     
  12. #10 DukeNuke2, 27.07.2006
    DukeNuke2

    DukeNuke2 Soulman

    Dabei seit:
    31.12.2003
    Beiträge:
    88
    Zustimmungen:
    0
    Ort:
    Berlin
    jaaaaaaaa, danke (mit zuckerguss und sahne oben drauf) ;)
     
Thema: Leerzeilen per script löschen?
Besucher kamen mit folgenden Suchen
  1. unix leerzeilen löschen

    ,
  2. linux bash datei leere zeilen entfernen

    ,
  3. unix leerzeile löschen

    ,
  4. unix leerzeilen aus datei entfernen,
  5. linux script zwei leerzeilen in eine,
  6. linux perl leerzeilen vor muster löschen
Die Seite wird geladen...

Leerzeilen per script löschen? - Ähnliche Themen

  1. Leerzeilen in sortierter Datei

    Leerzeilen in sortierter Datei: Hallo, ich habe eine sortierte Datei A A A B B C C C C (wobei die Zeichenkette am Anfang der Zeile, nach der sortiert wurde,...
  2. KMail 1.10.3 HTML-Mails ohne Leerzeilen

    KMail 1.10.3 HTML-Mails ohne Leerzeilen: Hallo zusammen, habe KMail 1.10.3 unter openSUSE 11.1 (KDE 4.1.3) laufen. Ich unterteile den Text in meinen Mails gerne mit einer Leerzeile...
  3. Beim SSH Login dutzende Leerzeilen nach MOTD

    Beim SSH Login dutzende Leerzeilen nach MOTD: Moin moin, wenn ich mich per SSH anmelde, kommt nach der MOTD so ein Haufen leere Zeilen...woran liegt das? Lokal passiert das nicht... Using...
  4. Alle 70 Zeilen mehrere Leerzeilen einfügen

    Alle 70 Zeilen mehrere Leerzeilen einfügen: Hi Forum, da ich mich leider mit AWK überhaupt nicht auskenne, brauche ich eure Hilfe. ?( Ich habe eine Datei mit einer variablen Anzahl an...
  5. Bräuchte Hilfe bei Backupscript mittels Bash und cronjob

    Bräuchte Hilfe bei Backupscript mittels Bash und cronjob: Es soll für bestimmte Ordner Archivierung aller Dateien(Logfiles), die älter als 30 Tage sind machen. Am besten einmal täglich nachts irgendwann....