Zeichen aus Datei löschen von der Bash aus

Post Reply
Message
Author
funkybooster
Posts: 5
Joined: 16. Dec 2002 11:01

Zeichen aus Datei löschen von der Bash aus

#1 Post by funkybooster »

Grüsst Euch alle

Ich hab da eine Datei. War ursprünglich mal eine Mail. Weil das Mail so oft weitergesendet wurde, schaut das ganze so aus:
------>8-------
> > > > > Text auf der Zeile n-1
> > > > > Text auf der Zeile n
> > >Text auf der Zeile n+1
------>8-------

Wer kennts nicht. Leider sind nicht immer gleich viele '>' in einer Zeile. Meine Frage: Kann jemand einen Shellaufruf aus dem Ärmel schütteln, der mir aus der obigen Datei, diese Datei erstellt:

------>8-------
Text auf der Zeile n-1
Text auf der Zeile n
Text auf der Zeile n+1
------>8-------

Irgendwas mit awk oder sed oder cut?

Danke schön

fb

Jochen

Re: Zeichen aus Datei löschen von der Bash aus

#2 Post by Jochen »

Die erwähnten Tools zeigen auf jeden Fall in die richtige Richtung. Vielleicht solltest Du Dich mal ein bisschen mit Regulären Ausdrücken beschäftigen, dann ist die Lösung nicht schwer...<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
sed 's/^\<!--no-->(> \<!--no-->)*//' meine-lange-mail > meine-lange-mail-ohne-quotes
</font><hr></pre></blockquote>Der Reguläre Ausdruck liest sich wie folgt: Am Anfang der Zeile (^) soll eine Folge von beliebig vielen (*) "> " (\<!--no-->(> \<!--no-->)) stehen. Die müssen geklammert sein, weil der Stern sonst nur auf das Leerzeichen wirken würde.

Das substitute-Kommando (s///) ersetzt alle Treffer darauf durch nichts - schon sind die gequoteten Quotes weg.

Jochen

Post Reply