[unix-ws] piping mit sed

Jan Eden lists at jan-eden.de
Die Nov 18 11:59:04 CET 2003


Hallo Sebastian,

Sebastian Hagedorn wrote:

>> echo "$2" | sed "s/\(.+\)\.tex/open '\1\.pdf'/" | sh -v
>>
>> Warum klappt das nicht?
>
>weil sed nur Basic Regular Expressions kann, d.h. nicht alle, die Perl kann.
>
>So klappt es bei mir:
>
>echo "$2" | sed "s/\(.*\)\.tex/open '\1\.pdf'/" | sh -v

Vielen Dank! Ich hatte einen Vergleichsstring, der bis auf (+?) sehr ähnlich war - und der funktionierte (aus einem anderen Skript geklaut). Aber da ich an Perl RegEx gewöhnt bin, habe ich das als Fehlerquelle ausgeschlossen.

Nach stundenlangem Rumprobieren bin ich trotz meiner Voreingenommenheit zu exakt demselben Ergebnis gekommen (vor zwei Minuten, mit den Nerven am Ende).

Perl (meine erste Wahl) kann ja mit der -e Option leider nur einen Befehl nehmen und gibt das Ergebnis der Substitution nicht automatisch an die Shell weiter (d.h. wahrscheinlich geht das doch, ich war nur wieder zu ungeduldig, den entsprechenden Parameter zu finden).

Jedenfalls wird UK-Online jetzt bald Schein-Funktionalität bekommen. Nochmal danke!

>> Jan Bruners -> Jan Eden
>
>Ich fürchte es dauert noch etwas, bis ich mich daran gewöhnt habe ... ;-)

Da geht's dir wie mir. Ich bin mir völlig entfremdet.

Viele Grüße

Jan
-- 
How many Microsoft engineers does it take to screw in a lightbulb? None. They just redefine "dark" as the new standard.