Hallo, Am Thu, 01 Sep 2005, Sven Gehr schrieb: >Am Mi 31.08.2005 15:27 schrieb Frank Küster <[EMAIL PROTECTED]>: >> Michelle Konzack <[EMAIL PROTECTED]> wrote: >> > Am 2005-08-31 12:55:18, schrieb Sven Gehr: [..] >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/[EMAIL PROTECTED]//' -e 's/[EMAIL >PROTECTED]//' -e 's/ ^ ^ die subshell ist ueberfluessig. >//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.
AHA! Les bitte meine anderen Antworten (speziell die in suse-linux). FAXNUM="`${PS2ASCII} \"$FAXFILE\" | tr '\r' '\n' | \ sed 's/^@@ *+/00/;s/[^0-9]\+//g;'`" Das sollte so eigentlich funktionieren -- kann aber sein, dass das mit dem Zeilenende ersetzen nicht gleich korrekt funktioniert, und dass dann die Verankerung der '@@' nicht funktioniert. Achso, du verwendest ja inzwichen @# und #@ (ueberfluessigerweise). Also ggfs. mal folgendes testen: FAXNUM="`${PS2ASCII} \"$FAXFILE\" | tr '\r' '\n' | \ sed 's/@# *+/00/;s/[^0-9]\+//g;'`" Falls das zuviel erwischt, schau dir meine anderen Mails nochmal genauer an. Spontan mit deinen geaenderten Anforderungen wuerde ich auch noch folgendes probieren (ungetestet!): FAXNUM="`${PS2ASCII} \"$FAXFILE\" | tr '\r' '\n' | \ sed '/@#.*#@/ { s/.*\(@[EMAIL PROTECTED]).*/\1/; s/[EMAIL PROTECTED] *+/00/; s/[^0-9]\+//g; }'`" Hm. Wie sieht das PS denn konkret aus? Kannst du da mal ein Beispiel der relevanten Stelle mailen? Ich denke, das PS2ASCII ist ueberfluessig und die Nummer laesst sich direkt aus dem PS rauslesen. BTW: awk waere speziell dann ueberlegenswert (ungetestet!): FAXNUM="`awk ' BEGIN { RS="[\r\n]"; ## nimmt \r und \n und \r\n als Zeileumbruch, aber ## ungetestet, ersetzt also das 'tr'. } /@#.*#@/ { $0 = gensub(/[EMAIL PROTECTED](.*)[EMAIL PROTECTED]/, "\\1", 0); sub(/^ *\+ */, "00", $0); print gensub(/[^0-9]/, "", "g"); }' \"$FAXFILE\"`" HTH, -dnh -- Treat your password like your toothbrush. Don't let anybody else use it, and get a new one every six months. -- Clifford Stoll [found in ssl_engine_pphrase.c] -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)