[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: grep



Am Donnerstag 10 August 2006 22:34 schrieb Matthias Houdek:

Hallo MaxX

> > > > noch ne sed-Frage. In einer Datei befinden sich an diversen
> > > > Stellen die Namen der Wochentage von Montag bis Freitag. Ist es
> > > > möglich, diese Worte mit einem einzigen Befehl aus der Datei zu
> > > > entfernen?

> > Es ist ein französischer Text (aber das juckt sed sicher wenig):
> >
> > $ sed '\b(Lundi|Mardi|Mercredi|Jeudi|Vendredi)\b'
> > sed: -e Ausdruck #1, Zeichen 41: unterminated address regex
>
> Das da oben ist nur der RegEx, den musst du noch in den Editorbefehl
> einpassen. 

Das hab' ich schon gemacht.

> Außerdem versteht sed IIRC nicht die erweiterte Syntax, also 
> bleiben die Wortbegrenzungen "\b" weg. Das hat den Nachteil, dass die
> Wochentage auch als Teil eines längeren Wortes gelöscht werden. Wenn du
> sowas im Text hast, müsstest du die möglichen Wortbegrenzer händisch
> davor und danach setzen (Leerzeichen, Klammer, Punkt, Semikolon,
> Komma, ...). Im Zweifel frag einfach noch mal nach.

Das ist mir zu hoch, aber es ist auch spät und ich bin müde...
>
> sed 's/(Lundi|Mardi|Mercredi|Jeudi|Vendredi)//g' datei
> sollte dir den veränderten Text auf den Screen schreiben. 

Das verändert gar nichts, ich hab's ausprobiert.

> Du kannst die 
> Ausgabe ja dann in eine neue Datei umleiten, ggf. auch noch die alte
> löschen und die neue auf die alte umbenennen.

Klar.

Aber
sed -e 's/Lundi -//g' -e 's/Mardi -//g' -e 's/Mercredi -//g' -e 's/Jeudi -//g' 
-e 's/Vendredi -//g'
hat funktionniert.

tschüs
Klaus



Reply to: