[unix-ws] piping mit sed
Sebastian Hagedorn
Hagedorn at spinfo.uni-koeln.de
Die Nov 18 10:38:03 CET 2003
Hallo Jan,
--On Dienstag, 18. November 2003 8:10 Uhr +0100 Jan Eden
<lists at jan-eden.de> wrote:
> 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?
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
> Für Tipps dankbar,
>
> Jan Eden
> --
> Jan Bruners -> Jan Eden
Ich fürchte es dauert noch etwas, bis ich mich daran gewöhnt habe ... ;-)
Gruß, Sebastian
--
Sebastian Hagedorn PGP key ID: 0x4D105B45
Ehrenfeldgürtel 156
50823 Köln
http://www.spinfo.uni-koeln.de/~hgd/
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : nicht verfügbar
Dateityp : application/pgp-signature
Dateigröße : 201 bytes
Beschreibung: nicht verfügbar
URL : https://lists.uni-koeln.de/mailman/private/unix-ws/attachments/20031118/c2b35f59/attachment.bin