Zeichen in einer Zeichenkette ersetzen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Ich versuche mit momentan vergebens am Ersetzen eines Zeichens in einer Zeichenkette.

    Meine Zeichenkette einhält an jedem Ende einer Zeile ein \n, natürlich nicht sichtbar.
    Diese möchte ich durch <br> ersetzen, damit ich eine HTML-Mail formatieren kann.

    Ich habe schon tr und sed versucht. sed scheint mir passender, also habe ich folgendes gefunden

    Code
    a="a\nb"
    echo $(echo ${a} | sed 's!\n!<br \/>!')


    Das erhoffte Ergebnis a<br />b bleibt leider aus.

    Was mache ich falsch?

    Die Zeilenumbrüche in der Textdatei sind übrigens "LF" ' s.

  • Es handelt sich hier um Shell (?) mit dem Interpreter #!/bin/bash

  • Ahhh ich fall hier noch vom Glauben ab :P
    Deine Lösung, dbv, funktioniert. Aber eines geschieht trotzdem noch und das muss ich unterbinden:

    In meinem Mailprogramm klambüsert er den Mail-Inhalt so zusammen, dass er keine horizontale Scrollbarleiste anzeigen muss.
    Das erschwert bei einem Webserver-Log aber die Lesbarkeit.

    Da kann man nichts gegen machen, oder? Die Mail wird schon im HTML-Format übertragen.

  • Hallo,

    ok, dieser Thread ist schon etwas älter und auch die letzte Frage vom 26.5.15 wahrscheinlich vom OT schon längst gelöst, aber auch Googelnde freuen sich auf einen abgeschlossenen Beitrag. Mir fällt zur letzten Frage ein, dass man für das schnelle Sichten in einem Email-Programm, welches partout den Zeilenumbruch nicht verhindern möchte, doch zusätzlich einen Log-Extrakt erzeugen kann, der eben stets nur die ersten n Zeichen ausgibt, d.h. "cut" auf die log-Zeilen anwenden und schon sieht man in der Übersicht nur die ersten n Zeichen. Beispiel:


    Code
    > echo 'DiesIstEineSehrLangeZeile' | cut -b 1-4
    
    
    Dies

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!