PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : die letzten 3 zeichen auslesen



thenktor
07-12-2001, 14:18
ich möchte die letzten 3 zeichen einer variable (oder einer textzeile) in eine andere variable schreiben. wie mach ich das?

philippmueller
07-12-2001, 15:00
Und wenn Du noch sagst, in welcher Sprache, dann wird man Dir auch einen Tipp geben können. ;)

thenktor
07-12-2001, 15:02
ups :)
in einem shellskript (bash)

geronet
07-12-2001, 15:51
sehr einfach, mit tail (schwanz)

Jeder Buchstabe ist ein byte, also 3 bytes.

tail -c 3 /etc/hosts

gibt dir die letzten drei Buchstaben der /etc/hosts.

$var1=´echo "$var2" | tail -c 3´

In diesem Sinne...

thenktor
07-12-2001, 16:35
alles klar

danke

thommy
10-12-2001, 08:56
Der Optimierer bemerkt: es geht auch ohne einen neuen Prozess;):

Kurz=${Lang:$((-3))}

wobei 'Lang' die Variable mit dem ausführlichen Inhalt ist und 'Kurz' die letzten 3 Zeichen zugewiesen bekommt. Jaja, die Syntax im Offset ist mir auch nicht ganz geheuer, aber die Bash verlangt hier eine arithmetische Substitution (insofern ein negativer Offset [heißt: zähle von 'hinten'] benutzt wird).

Grüße
Thomas

jean_luc_picard
27-04-2005, 20:33
Ja, schade...

ich möchte nämlich die ersten Buchstaben eines Strings erhalten. Leider steige ich durch den Syntax nicht durch...

Weiß jemand wie das gedacht ist?

Gruß, Picard

peschmae
27-04-2005, 20:45
peschmae@thinkpad:~$ ${PATH:0:3}
bash: /us: Datei oder Verzeichnis nicht gefunden


das ists doch? :)

http://www.tldp.org/LDP/abs/html/parameter-substitution.html#PATTMATCHING

MfG Peschmä

jean_luc_picard
02-05-2005, 12:06
Genial! Und danke für den Link...

Gruß, Picard