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

Re: sed - Problem



Am Mi 31.08.2005 15:27 schrieb Frank Küster <frank@debian.org>:
> Michelle Konzack <linux4michelle@freenet.de> wrote:
> > Am 2005-08-31 12:55:18, schrieb Sven Gehr:

Hallo zusammen,

bin auf ein weiteres Problem mit meinem Skript (sed) gestoßen welches
absolut komisch ist, zumindest für mich.

Ausgangsmaterial ist eine Postscript-Datei. Wenn ich diese mit:

ps2ascii out.ps out.txt

in ASCII konvertieren enthält diese:

---------------------------------------------------------
@# 06214829391 #@ Hallo Fax, ich bin's der Faxmeister.

................^L%%[Page: 1]%%
%%[LastPage]%%
---------------------------------------------------------

wenn ich anschliesend mein Skript:

#!/bin/sh
# txt2number
PS2ASCII=/usr/bin/ps2ascii
TEMPFILE=/usr/lib/cups/backend/out.txt
FAXFILECONTEND=$(cat $TEMPFILE)
FAXNUM=`echo $FAXFILECONTEND|sed -e 's/^.*\@#//' -e 's/\#@.*$//' -e 's/
//g' -e 's/^+49/0/' -e 's/^+/00/' -e 's/\///g' -e 's/-//g'`
echo $FAXNUM


darauf anwende erhalte ich die Ausgabe:

06214829391

also alles perfekt. Nun muß ich die zwei Schritte zu einem
zusammenfassen und habe folgendes Skript erstellt:

#!/bin/sh
PS2ASCII=/usr/bin/ps2ascii
FAXFILE=/usr/lib/cups/backend/out.ps
FAXNUM=`($PS2ASCII $FAXFILE)|sed -e 's/^*\@#//' -e 's/\#@.*$//' -e 's/
//g' -e 's/^+49/0/' -e 's/^+/00/' -e 's/\///g' -e 's/-//g'`
echo $FAXNUM


wenn ich dieses nun auf die gleiche Ausgangs-Datei (out.ps) anwende
erhalte ich als Ausgabe:

%%[ProductName:ESPGhostscript]%% @#06214829391 ................
%%[Page:1]%% %%[LastPage]%%

Ich finde absolut keinen Fehler. als kleiner Hinweis, dieses PS-File
wurde von einem Windows-Druckertreiber erzeugt. Wenn ich das PS-File vom
Linux-Druckertreiber erzeugen lasse funktioniert auch das 2. Skript was
die Nummer extrahiert. Ich versteh's einfach nicht.

Viele Grüße
Sven



Reply to: