sed: Nächste Zeile an vorheriger anfügen wenn vorherige mit ^M endet

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von xenomorph150, 18.06.2009.

  1. #1 xenomorph150, 18.06.2009
    xenomorph150

    xenomorph150 Grünschnabel

    Dabei seit:
    18.06.2009
    Beiträge:
    8
    Zustimmungen:
    0
    Hallo Unix Nutzer!

    Ich schreibe grade an einer Art Benachrichtigungstool welches mich über neue Nachrichten etc auf Social Websites informiert.

    Das mach ich in einer Verbindung aus Shell Skript, curl und sed sowie ein bisschen cat und was sonst noch anfällt ;-).

    Nun habe ich aber bei einer Textparsingstelle ein Problem.
    Ich hab die Geburtstagsausgabe von Wkw schon soweit zerlegen können:

    Code:
    xy hat^M
    übermorgen^M
    Geburtstag!^M
    --
    yz hat^M
    in 3 Tagen^M
    Geburtstag!^M
    
    Problem ist aber natürlich: So ist das keine schöne Ausgabe.
    Im Prinzip hätte ich am liebsten das es nachher so aussieht:

    Code:
    xy hat übermorgen Geburtstag!
    yz hat in 3 Tagen Geburtstag!
    
    Was ich also bräuchte wäre irgendein Aufruf der entweder
    a) ^M erkennt und überprüft ob
    i) nachfolgende Zeile = -- then lösche Zeile
    ii) nachfolgende Zeile /= -- then ziehe nachfolgende Zeile ans Ende der jetzigen und überprüfe neues Ende etc.

    oder:
    Bei ^M am Ende immer die nächste Zeile vorzieht und dann ganz am Ende alle Zeilen mit -- löscht.

    Mit sed kann man ^M anscheind nur schwer fassen, daher frage ich hier.
    Was ich weiß ist, dass man mit dem Aufruf tr -d '\015\032' u.a. ^M entfernen kann - aber damit wäre mir ja nicht geholfen weil das ganze dann immer noch untereinander steht und es manchmal nur 2 zeilig, manchmal 3 zeilig aus dem Code von wkw kommt.


    Ich hoffe man versteht was ich meine xD


    Vielen Dank,

    Nico
     
  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. zst

    zst Foren As

    Dabei seit:
    06.09.2006
    Beiträge:
    95
    Zustimmungen:
    0
    Hallo,
    wie wäre es damit ... zumindest als Ansatz ...
    Gruss zst

    Code:
    tr -d "\015" < einetestdatei.txt | tr "\012" "|" | sed -e's/|--|/\n/g' | tr "|" " " && echo
    [U]AUSGABE:[/U] 
    xy hat uebermorgen Geburtstag!
    yz hat in 3 Tagen Geburtstag! 
    
     
Thema:

sed: Nächste Zeile an vorheriger anfügen wenn vorherige mit ^M endet

Die Seite wird geladen...

sed: Nächste Zeile an vorheriger anfügen wenn vorherige mit ^M endet - Ähnliche Themen

  1. Wenn die nächste Zeile eine leere Zeile ist hör auf

    Wenn die nächste Zeile eine leere Zeile ist hör auf: Sorry erstmal für den komischen Titel. Aber ne andere Beschreibung fiel mir nicht ein. Folgendes Problem: Ich erzeuge aus einem getfacl . ein...
  2. Wie kann ich pro Aufruf die jeweils nächste Zeile einer Datei auslesen?

    Wie kann ich pro Aufruf die jeweils nächste Zeile einer Datei auslesen?: Hallo zusammen, ich hoffe ihr könnt mir helfen. Und zwar bin ich auf der Suche nach einer Möglichkeit, wie man Zeilenweise aus einer Datei...
  3. Linux-Notebook von Xiaomi im nächsten Jahr erwartet

    Linux-Notebook von Xiaomi im nächsten Jahr erwartet: Xiaomi ist nicht nur drittgrößter Smartphone-Hersteller weltweit sondern vertreibt auch Smart-TVs, Router und IoT-Haushaltsgeräte. Die Gerüchte um...
  4. Arduino Zero ab nächster Woche erhältlich

    Arduino Zero ab nächster Woche erhältlich: Ab 15. Juni wird der Arduino Zero im US-amerikanischen Arduino-Store erhältlich sein. Der Arduino-Zero rechnet mit einem 32-bit ARM Cortex M0+....
  5. »Pi and More« nächste Woche in Trier

    »Pi and More« nächste Woche in Trier: Pi and More lädt am 20. Juni zu Vorträgen und Workshops rund um den Raspberry Pi an die Uni Trier. Der »Raspberry Jam« ist nicht nur ein Rahmen...