GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So finden Sie die Länge der Zeichenfolge in Bash [Schneller Tipp]

Wenn Sie in Bash mit Zeichenfolgen arbeiten, müssen Sie möglicherweise die Länge der Zeichenfolge kennen.

Zum Glück ist es super einfach, die Länge der Zeichenfolge in Bash zu ermitteln. Nehmen wir an, Sie haben einen String namens my_string . Seine Länge kann extrahiert werden als:

${#my_string}

Hier ist ein Beispiel, um die Dinge besser zu erklären:

[email protected]:~$ my_string="abhishek"
[email protected]:~$ echo "length is ${#my_string}"
length is 8

Das war einfach, nicht wahr? Sie können diese Zeichenfolgenlänge in einer anderen Variablen speichern und später verwenden:

[email protected]:~$ my_string="abhishek"
[email protected]:~$ length=${#my_string}
[email protected]:~$ echo "String length is $length"
String length is 8

Wie die meisten anderen Dinge in Linux ist dies nicht die einzige Möglichkeit, die Länge von Strings in Bash zu berechnen.

Stringlänge in Bash mit expr-Befehl abrufen

Sehen wir uns einige andere Befehle an, die Ihnen helfen könnten, die Zeichenfolgenlänge in Bash zu testen.

Einer dieser Befehle ist der expr-Befehl. Es hat mehrere Optionen, die für String-Optionen nützlich sind. Darunter length gibt Ihnen die Länge eines Strings.

[email protected]:~$ expr length "my string"
9

Da der expr-Befehl die Länge ausgibt, sollten Sie diese per Befehlssubstitution in einer Variablen speichern.

#!/bin/bash

str="my string"
length=$(expr length "$str")
echo "Length of my string is $length"

Wenn Sie nun dieses Bash-Shell-Skript ausführen, wird die Länge ausgegeben:

[email protected]:~$ bash string.sh 
Length of my string is 9

Verwenden Sie awk, um die Länge der Zeichenfolge zu erhalten

AWK ist ein super vielseitiger Befehl zum Bearbeiten von Text in der Linux-Befehlszeile. Sie können damit auch die Stringlänge berechnen.

Sie müssen den echo-Befehl verwenden und dann die Pipe-Umleitung verwenden, um ihn mit awk:

zu parsen
[email protected]:~$ echo "my string" | awk '{print length}'
9

Wie Sie sehen können, ist es nicht einfach, sich an die Syntax zu erinnern, es sei denn, Sie sind mit den Grundlagen des awk-Befehls vertraut.

Mit dem wc-Befehl die Stringlänge berechnen

Eine andere Möglichkeit, die Stringlänge unter Linux zu ermitteln, ist die Verwendung des Befehls wc. Jetzt wird der Befehl wc zum Zählen der Anzahl der Zeilen und Zeichen in einer Datei verwendet.

Sie können die Zeichenfolge echoen und an den Befehl wc weiterleiten. Das -m Option gibt die Zeichenanzahl an.

[email protected]:~$ echo -n "my string" | wc -m
9

Beachten Sie das -n Option mit Echo-Befehl? Das ist wichtig, weil echo automatisch ein neues Zeilenzeichen \n hinzufügt am Ende und es wird die Länge der Zeichenfolge um eins erhöhen. Mit -n Option, Echo-Befehl fügt kein Zeilenumbruchzeichen hinzu.

Sie können die Befehlsersetzung verwenden, um die Zeichenfolgenlänge in einer Variablen zu speichern, wie Sie in den vorherigen Beispielen gesehen haben.

#!/bin/bash

str="my string"
length=$(echo -n "my string" | wc -m)
echo "Length of my string is $length"

Persönlich ist ${#string} meine bevorzugte Methode, um die Stringlänge zu erhalten. Leichter zu merken.

Und du? Welche Methode bevorzugen Sie?


Linux
  1. Wie liest man eine Zeichenfolge als Hex-Zahl in Bash?

  2. So lesen Sie Knoten in Kubernetes [Schneller K8s-Tipp]

  3. So prüfen Sie, ob String in Bash einen Teilstring enthält

  4. Beispiele für Bash-String-Manipulationen – Länge, Teilstring, Suchen und Ersetzen

  5. Wie funktioniert cat << EOF in Bash?

So prüfen Sie, ob eine Zeichenfolge in Bash eine Teilzeichenfolge enthält

So finden Sie eine Zeichenfolge in einer Datei unter Linux

So finden Sie die Prozess-ID eines Programms und beenden es [Kurztipp]

So fügen Sie neue Pinsel in GIMP hinzu [Kurztipp]

Wie man Bilder in GIMP zuschneidet [Quick Tip]

So fügen Sie ein Verzeichnis zu PATH in Linux hinzu [Kurztipp]