Holen Sie sich die Länge der Zeichenfolge in Bash
- Saitenlänge und grundlegende Notationen
-
Verwenden Sie den
#
-Operator, um die Zeichenfolgenlänge in Bash zu berechnen -
Verwenden Sie den Befehl
expr
, um die Zeichenfolgenlänge in Bash zu berechnen -
Verwenden Sie den Befehl
awk
, um die Zeichenfolgenlänge in Bash zu berechnen -
Verwenden Sie den Befehl
wc
, um die Zeichenfolgenlänge in Bash zu berechnen - Berechnen Sie die Zeichenlänge einer Datei
In Programmiersprachen spielt die Länge bzw. Größe des Datentyps eine wichtige Rolle. Es hilft beim Durchlaufen von Listen und erleichtert das Extrahieren nützlicher Informationen.
Die Länge ist besonders wichtig, um Aufgaben auszuführen, bei denen die gesamte Saite durchlaufen werden muss. Daher werden wir unter Berücksichtigung der Wichtigkeit der Länge oder Größe jedes Datentyps verschiedene Methoden zur Berechnung der Zeichenfolgenlänge kennenlernen.
Saitenlänge und grundlegende Notationen
Ein String ist die Folge der verschiedenen char
, die die Leerzeichen enthalten kann. In Bash ist die Länge der Zeichenfolge die Gesamtzahl der Zeichen in dieser Zeichenfolge.
Beispielsweise enthält der String "Hello World"
zehn char
und ein Leerzeichen. Daher ist seine Länge elf.
Die meisten Skript- und Programmiersprachen verfügen über integrierte oder Bibliotheksfunktionen zum Ermitteln der Länge der Zeichenfolge. Ebenso gibt es viele Möglichkeiten, Bash-Befehle zu manipulieren, um die Zeichenfolgenlänge in Bash zu berechnen.
Verwenden Sie den #
-Operator, um die Zeichenfolgenlänge in Bash zu berechnen
Wir können den Operator #
verwenden, um die Länge des Strings zu berechnen. Der folgende Code zeigt die Syntax zum Abrufen der Länge einer Zeichenfolge mit dem Operator #
.
${#your_var}
Zuerst haben wir die Variable, die den String enthält, mit den geschweiften Klammern umschlossen und dem Operator #
die Variable vorangestellt.
Der Operator #
spielt eine wesentliche Rolle beim Drucken der Länge der Zeichenfolge. Wenn #
nicht verwendet wird, druckt der Code die gesamte Zeichenfolge, daher ist das Hinzufügen zur Variablen unerlässlich.
Darüber hinaus behandelt das äußere $
-Zeichen die Stringlänge als Variable und gibt sie mit dem echo
-Befehl auf dem Bildschirm aus. Der folgende Code zeigt die Längenberechnung des Strings mit dem #
.
var="hello world"
echo ${var}
echo ${#var}
In Zeile #1 erstellen wir die Variable namens var
. Die Variable var
kann eine beliebige Zeichenfolge aus dem Terminal- oder Dateistring enthalten.
Die zweite Zeile gibt den gesamten String mit dem $
und den geschweiften Klammern aus. In der letzten Zeile haben wir das Symbol #
mit der Variablen verwendet und die Länge der Zeichenfolge auf der Befehlskonsole ausgegeben.
Verwenden Sie den Befehl expr
, um die Zeichenfolgenlänge in Bash zu berechnen
Hier untersuchen wir die Berechnung der Länge des Strings mit dem Befehl expr
. Der folgende Code zeigt die grundlegende Syntax zur Verwendung des Befehls expr
.
`expr "$var1" : "$var2"`
Der Befehl expr
benötigt zwei Parameter: vor und nach dem Vergleichsoperator :
. Der Vergleichsoperator vergleicht zwei Zeichenketten auf gemeinsame Zeichen und gibt die Anzahl ähnlicher Zeichen
zurück.
In var1
geben wir den String an, dessen Länge berechnet werden soll. Das var2
enthält einen regulären Ausdruck, der die Zeichenfolge einzeln analysiert, und der Vergleichsoperator kann die Anzahl jedes ähnlichen Zeichens
berechnen.
Der folgende Code veranschaulicht ein Beispiel.
var="hello world"
echo `expr "$var" : ".*"`
Im obigen Code haben wir der Variablen var
den String "hello world"
zugewiesen. Das .*
analysiert alle Zeichen des vorherigen Tokens (d. h. den Wert von var
).
Daher gibt der Vergleichsoperator bei zwei gleichen Operanden die Gesamtzahl der Zeichen
im ersten Operanden zurück.
Verwenden Sie den Befehl awk
, um die Zeichenfolgenlänge in Bash zu berechnen
Lassen Sie uns die Stringlänge mit dem Befehl awk
berechnen. Der Befehl awk
ist eine Skriptsprache, die zur Datenbearbeitung und Berichterstellung verwendet wird.
Der folgende Code demonstriert die Längenberechnung des Strings mit dem Befehl awk
.
var="hello world"
n1=`echo $var |awk '{print length}'`
echo $n1
Im obigen Code haben wir das eingebaute Attribut des awk
- und des print
-Befehls verwendet.
Der Befehl awk
übernimmt die Eingabe des Strings aus der Variablen var
mit der Pipe. Die Pipe sendet die Befehlsausgabe an die Eingabe nach der Pipe.
Zeile #3 gibt die Länge des Strings als Bestätigung aus.
Verwenden Sie den Befehl wc
, um die Zeichenfolgenlänge in Bash zu berechnen
Jetzt untersuchen wir die Längenberechnung der Zeichenkette mit dem Befehl wc
. Wir übergeben den String nur über die Pipe mit dem Flag -c
oder -m
an das wc
und erhalten die gewünschte Ausgabe (also die Länge des Strings).
Die folgenden Bash-Befehle zeigen die Stringlänge mit dem Befehl wc
an.
echo -n "$var" | wc -c
Oder:
echo -n "$var" | wc -m
Der obige Code zeigt die Längenberechnung des Strings mit zwei verschiedenen Flags des wc
-Befehls.
Wenn wir nur den Befehl wc
verwenden, gibt er mehr Informationen als die Länge der Zeichenfolge, die nicht erforderlich ist. Die Erwähnung des Flags nach dem Befehl wc
ist also unvermeidlich.
Wir können beide Flags verwenden, -c
oder -m
. Beide geben die gleiche Ausgabe zurück.
Das folgende Snippet zeigt die Ausgabe des oben beschriebenen wc
-Codes.
Berechnen Sie die Zeichenlänge einer Datei
Jetzt werden wir untersuchen, wie die Zeichenfolgenlänge aus der Datei berechnet wird. Wir erstellen die Datei mit dem Namen abc.txt
und schreiben einen Text.
Dann lesen und drucken wir die Länge der Zeichenfolge aus der Datei.
Der folgende Code zeigt die Berechnung der Stringlänge aus der Datei.
touch abc.txt
echo "hello world">> abc.txt
cat abc.txt | wc -c
Der touch
erstellt eine neue Datei abc.txt
, in die wir mit einfacher I/O-Umleitung einen hello world
-String schreiben. Der Befehl cat
in der dritten Zeile zeigt den Inhalt von abc.txt
an.
Die Pipe |
macht die Ausgabe des Befehls cat
zur Eingabe des Befehls wc
. Daher zählt das wc
die Wörter in dieser Ausgabe.