Hallo zusammen, ich bräuchte mal euere Hilfe beim erzeugen einer Variable innerhalb eines Bash-Skripts. Ich habe eine Variable: $SENDER welche die Faxnummer des Absender im diesem Format: +49 621 48293xx enthält. Mein Problem ist das führende + sowie die Leerzeichen. Wie kann ich mir nun eine neue Variable definieren welche: a) das führende + gegen 00 ersetzt WENN vorhanden b) Die Leerzeichen killt WENN vorhanden Ich habe schon gehört das man in der Bash deartige Manipulationen an Strings machen kann. Ich bin leider kein Skript-Profi also wäre schön wenn mir jemand einen Tip geben könnte. Viele Grüße Sven
Moin Sven,
ich bräuchte mal euere Hilfe beim erzeugen einer Variable innerhalb eines Bash-Skripts. Ich habe eine Variable:
$SENDER
welche die Faxnummer des Absender im diesem Format:
+49 621 48293xx
enthält. Mein Problem ist das führende + sowie die Leerzeichen. Wie kann ich mir nun eine neue Variable definieren welche:
a) das führende + gegen 00 ersetzt WENN vorhanden b) Die Leerzeichen killt WENN vorhanden Zwar nicht bash, sondern wüste sed Skripterei, aber es funkt ;-) ---- snip: test.sh----------------------------------------------- #!/bin/sh
SENDER="+49 621 48293xx" echo $SENDER | sed 's/+/00/' | sed 's/ //g' ---- snap ------------------------------------------------------- ./test.sh 004962148293xx Hope this helps, Stephan -- ------------------------------------------------------------------------ Stephan Eickschen Fon: +49 (0)228 933 999 70 Augustastrasse 89 Fax: +49 (0)228 933 999 71 53173 Bonn Cell: +49 (0)170 54 781 60 Germany Email: eickschen.haenel@t-online.de http://www.eiskultur.de ------------------------------------------------------------------------
Hi On Thursday 13 January 2005 10:07, Sven Gehr wrote: ...
+49 621 48293xx
enthält. Mein Problem ist das führende + sowie die Leerzeichen. Wie kann ich mir nun eine neue Variable definieren welche:
a) das führende + gegen 00 ersetzt WENN vorhanden b) Die Leerzeichen killt WENN vorhanden
Ich habe schon gehört das man in der Bash deartige Manipulationen an Strings machen kann. Ich bin leider kein Skript-Profi also wäre schön wenn mir jemand einen Tip geben könnte. Nur mit der Shell wird das sehr schwierig. Dafür würde ich sed nehmen.
$ a="+49 123 456 789" $ b=`echo $a | sed s/\ //g\;s/\+/00/ ` $ echo $b 0049123456789 mfg Axel
Sven Gehr wrote:
+49 621 48293xx a) das führende + gegen 00 ersetzt WENN vorhanden b) Die Leerzeichen killt WENN vorhanden
Hallo Sven, zwar geht es bestimmt eleganter, aber bei mir funktioniert: echo $SENDER | sed -e s/+/00/g | sed -e s/\ //g oder, wenn Du das Ergebnis wieder in $SENDER speichern möchtest SENDER=`echo $SENDER | sed -e s/+/00/g | sed -e s/\ //g` Gruß Jan
participants (4)
-
Axel Heinrici
-
Eickschen.Haenel@t-online.de
-
Jan Handwerker
-
Sven Gehr