Am Mi 31.08.2005 11:26 schrieb Michelle Konzack <[EMAIL PROTECTED]>: > Am 2005-08-31 09:41:13, schrieb Sven Gehr:
Vielen Dank für die Vorschläge. In der zwischenzeit habe ich viel mit sed herum probiert und habe noch einiges geändert. Die Zeichen die den Anfang und das Ende markieren kann ich ja selbst steuern da diese durch die Aplikation in das File geschrieben werden. Ich hielt es für besser wenn ich für Anfang und Ende nicht die gleichen nehme sonder unterschiedliche: @# -> markiert den Anfang # @ -> markiert das Ende Mit: echo "bla bla @# +49 621 / 4829-399 #@ bla bla" |sed -e 's/[EMAIL PROTECTED]//' -e 's/[EMAIL PROTECTED]//' -e 's/ //g' -e 's/^+49/0/' -e 's/^+/00/' -e 's/\///g' -e 's/-//g' erhalte ich dann: 06214829399 Das einzigste was bei der Lösung nicht funktioniert ist eine Prüfung auf weiter Sonderzeichen, Buchstaben etc. Das wäre jedoch in anbetracht des Verwendungszwecks nicht tragisch. Bei den Zahlen handelt es sich, wie sich der ein oder andere bestimmt schon gedacht hat, um Faxnummern. Diese werden aus unsere Datenbank eingemischt. Wenn da Buchstaben oder Sondernzeichen enthalten sind stimmt die Nummer ja ohnehin nicht und braucht auch nicht weiter verarbeitet zu werden. Nun wollte ich das Ganze in ein Skript einbauen und habe so meine Probleme damit. #!/bin/sh FAXFILE=/usr/lib/cups/backend/doc155.txt FAXNUME=$FAXFILE|sed -e 's/[EMAIL PROTECTED]//' -e 's/[EMAIL PROTECTED]//' -e 's/ //g' -e 's/^+49/0/' -e 's/^+/00/' -e 's/\///g' -e 's/-//g' echo $FAXNUM In der Datei doc155.txt steht genau die Zeichenkette drin wie ich sie die ganze Zeit mit echo... übergeben habe. Wenn ich das Skript ausführe wird jedoch nichts ausgegeben. Wie muß ich das zuweisen? Viele Grüße Sven