Stringteilung

K

kev

Grünschnabel
in der ksh Shell
ich habe in einer Variable den Inhalt:
erst n Zeichen und dann zwei Zahlen. Die Zahlen muss ich weiter verwenden
Bsp. VS=default51

mit VS=$(echo${VS#([A-Za-z]*)}) wird nur ein Zeichen und nicht alle vor den Zahlen entfernt und mit ## ist der Inhalt leer.

Am Ende soll 51 in der $VS stehen. Gibt es Lösungen?
 
Hallo
Ich kenn mich mit ksh nicht so gut aus, kann es hier auch nicht testen.
Deshalb mein Vorschlag:
Versuch es mal mit sed:

wolle@Nietzsche$ VS=default51;
wolle@Nietzsche$ V="$(echo $VS|sed -e 's/^[^[:digit:]]*//')";
wolle@Nietzsche$ echo $V
51
In der bash ginge folgendes:
wolle@Nietzsche$ VS=default51;
wolle@Nietzsche$ V="${VS//[^0-9]/}";
wolle@Nietzsche$ echo $V
51

Gruß Wolfgang
 

Ähnliche Themen

Falsche Ausgabe von $LINENO

Summe von Zahlen in einer Zeilen bilden

Wie komme ich an den Inhalt des Inhalts einer Variable?

Script zur Korrektur einer E-Book Datei

Liste mischen. Alternativen zu sort -R

Zurück
Oben