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: