Bash:
Ermittlung der Zeichenkettenlänge
So geht’s:
# String-Länge mit ${#string}
str="Hallo, Welt!"
echo ${#str}Ausgabe:
13# Länge eines Strings in einer Variablen
length=${#str}
echo $lengthAusgabe:
13Tiefergehend:
Historisch gesehen gab es in den frühen Tagen der Shell-Programmierung keine eingebaute Funktionalität, um die Länge eines Strings zu messen. Man nutzte expr oder externe Programme wie awk. Im Laufe der Zeit wurde Bash erweitert, um solche Aufgaben direkt erledigen zu können.
Alternativen zur Bash-eigenen Methode sind Kommandos wie wc oder expr, wobei diese einen Umweg und mehr Ressourcen bedeuten können:
echo -n $str | wc -cDie Implementierung mit ${#string} ist direkt ins Bash eingebaut, effizient und schnell. Sie zählt tatsächlich die Zeichen, was bei Multibyte-Zeichen wie im UTF-8-Kodierung wichtig ist.
Siehe auch:
- Bash Manual: https://www.gnu.org/software/bash/manual/
- Advanced Bash-Scripting Guide: https://tldp.org/LDP/abs/html/
- Stack Overflow: Diskussionen über das Zählen von Stringlängen und spezielle Fälle: https://stackoverflow.com/