Länge der Zeichenfolge in bash
Wie kommst du auf die Länge einer Zeichenfolge in einer Variablen gespeichert und weisen, dass eine andere variable?
myvar="some string"
echo ${#myvar}
# 11
Wie legen Sie eine weitere variable für die Ausgabe 11
?
InformationsquelleAutor der Frage AJP | 2013-06-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
UTF-8 string, Länge
Neben fedorqui die richtige Antwortmöchte ich zeigen den Unterschied zwischen string-Länge und die byte-Länge:
machen wird:
konnte man sogar einen Blick auf gespeicherte chars:
beantworten:
Nota: Nach Isabell Cowan Kommentardie ich Hinzugefügt habe, die Einstellung zu
$LC_ALL
zusammen mit$LANG
.Länge eines Arguments
Argument funktionieren genauso wie reguläre Variablen
funktionieren wird, wie
Nützlich
printf
- Korrektur-Werkzeug:Wenn Sie:
Nicht wirklich ziemlich... Für dieses gibt es eine kleine Funktion:
Dann jetzt:
InformationsquelleAutor der Antwort F. Hauri
Um die Länge eines Strings in einer variable gespeichert, die sagen:
Bestätigen, es war richtig gespeichert,
echo
:InformationsquelleAutor der Antwort fedorqui
Können Sie verwenden:
wc -c
oderwc --bytes
für die byte-Anzahl = Unicode-Zeichen werden gezählt, mit 2, 3 oder mehr bytes.wc -m
oderwc --chars
für Charakter zählt = Unicode-Zeichen werden gezählt, single, bis Sie mehr bytes.InformationsquelleAutor der Antwort atesin
Wenn Sie dies nutzen wollen, mit Befehl Linie oder Funktion Argumente, stellen Sie sicher, dass Sie
size=${#1}
stattsize=${#$1}
. Die zweite kann man mehr instinktiv, sondern ist falsche syntax.InformationsquelleAutor der Antwort Dick Guertin
Hier ist einige Wege, um die Berechnung der Länge der variable :
und setzen das Ergebnis in einer anderen variable zuweisen obigen Befehl mit Rücken-Zitat in eine andere variable wie folgt:
http://techopsbook.blogspot.in/2017/09/how-to-find-length-of-string-variable.html
InformationsquelleAutor der Antwort Mukesh Shakya
In der Antwort auf die post ab:
mit dem code:
Könnte es der Fall sein, wenn Sie nur wollen, um zu überprüfen, für eine Länge von null argument und haben keine Notwendigkeit zum speichern einer Variablen. Ich glaube, Sie können diese Art von syntax:
Sehen GNU und wooledge für eine vollständige Liste von Bash-bedingte Ausdrücke.
InformationsquelleAutor der Antwort JGFMK
War ich versucht, etwas ähnliches zu tun, aber ich wollte nur sicherstellen, dass die Benutzer-Eingabe war nicht allzu lange.
InformationsquelleAutor der Antwort TrophyGeek
Wollte ich den einfachsten Fall, schließlich ist dies ein Ergebnis:
InformationsquelleAutor der Antwort dmatej
Ich würde so etwas wie dieses:
Brauchen Sie nicht ein Skript.
InformationsquelleAutor der Antwort Galaxy