ubuntuusers.de

Wie verkürzt man eine Variable???

Status: Gelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

KeinPlan

Anmeldungsdatum:
9. Juni 2010

Beiträge: 63

Hallo, Ich bräuchte Eure Hilfe!!! Ich würde gerne, wenn ich eine Variable gespeichert habe, diese Verkürzen. Wenn in der Variable also "Haus" drinsteht, möchte ich davon nur die ersten beiden Buchstaben haben. Weiß jemand, wie man dies als Befehl eingiebt???

thomsen

Avatar von thomsen

Anmeldungsdatum:
9. Juni 2010

Beiträge: 188

Wohnort: Hamburg

Was du suchst ist eine Substringfunktion. Ich nehme an du willst das ganze in der Shell machen. Für dein Beispiel müsstest du folgendes eingeben:

ersterstring="Haus" komischersubstring=${ersterstring:0:2}

Die substringfunktion in der Shell besteht aus 3 Teilen: 1. Teil ist der Sourcestring 2. Teil ist die Startposition von der du lesen willst (wie immer in der Programmierung fängt man hier mit 0 an zu zählen und nicht mit 1) 3. Teil ist die Länge des Substrings

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Hi KeinPlan,

willkommen auf dem Forum !

Das was Du da vorhast heißt "Shell Parameter Expansion" und ist komplett hier zu finden: http://www.gnu.org/software/bash/manual/bash.html#Shell-Parameter-Expansion

Ferner gibt es hier noch hübsche Tips: http://mywiki.wooledge.org/BashFAQ und hier: http://ubuntuusers.de/user/track/#Scripten

LG,

track

kubuntu_andi

Anmeldungsdatum:
16. September 2007

Beiträge: 187

Hallo Thomsen,

mich hat der Beitrag auch interessiert, weil ich vor einem ähnlichen Problem stehe. Leider bringt Dein Code

1
2
ersterstring="Haus" 
komischersubstring=${ersterstring:0:2}

bei mir die Meldung

test.sh: 2: Bad substitution

Viele Grüße, Andi

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Hi Andy,

offenbar versuchst Du die Substition mit sh statt mit bash auszuführen. Nur, die kennt diese Teilstring-Funktion nicht ...

Lösung: entweder ausdrücklich mit bash ausführen, oder eine andere Substitution suchen.

LG,

track

kubuntu_andi

Anmeldungsdatum:
16. September 2007

Beiträge: 187

ahja, daran lags wohl! Vielen Dank!!

Antworten |