[unix-ws] piping mit sed

Jan Eden lists at jan-eden.de
Die Nov 18 08:10:37 CET 2003


Hallo,

ich habe ein Problem mit folgender Aufgabe: Ich rufe ein Skript mit zwei Argumenten von der Kommandozeile auf, die Argumente (Dateinamen) werden verwendet.

Am Schluss soll eine modifizierte Version des zweiten Arguments (z.B. scheine2.tex") an die Shell gegeben werden. Mein Versuch:

echo "$2" | sed "s/\(.+\)\.tex/open '\1\.pdf'/" | sh -v

Dabei wird allerdings nur der Wert von $2 ausgegeben, sed scheint nichts zu tun und die shell gibt einen Fehler aus:

[...]
### ps2pdf13 /tmp/altpdflatex.1040-1069139327/scheine2.ps /tmp/altpdflatex.1040-1069139327/scheine2.pdf
### Copying/moving pdf file /tmp/altpdflatex.1040-1069139327/scheine2.pdf to scheine2.pdf
### Succesfully generated scheine2.dvi and scheine2.pdf
scheine2.tex
sh: line 1: scheine2.tex: command not found

Das ist verständlich, wenn sh "scheine2.tex" bekommt, aber sed sollte daraus eigentlich "open scheine2.tex" machen.

Warum klappt das nicht?

Für Tipps dankbar,

Jan Eden
-- 
Jan Bruners -> Jan Eden