Entfernen Sie das erste Zeichen aus der Zeichenfolge in Bash

Olorunfemi Akinlua 20 Juni 2023
  1. Verwenden Sie den Befehl sed, um das erste Zeichen aus der Zeichenfolge in Bash zu entfernen
  2. Verwenden Sie den Befehl cut, um das erste Zeichen aus der Zeichenfolge in Bash zu entfernen
  3. Verwenden Sie den Parameter substring, um das erste Zeichen aus der Zeichenfolge in Bash zu entfernen
Entfernen Sie das erste Zeichen aus der Zeichenfolge in Bash

Das Entfernen des ersten Zeichens einer Zeichenfolge in Bash kann schwierig sein, da es keine eingebaute Funktion gibt, die dies direkt tun kann. Es gibt jedoch mehrere Möglichkeiten, dies zu erreichen, z. B. die Verwendung des Befehls sed, des Befehls cut oder der Parametererweiterung substring.

In diesem Beitrag wird beschrieben, wie Sie die einzelnen Ansätze verwenden, um das Anfangszeichen aus einer Zeichenfolge in Bash zu entfernen.

Verwenden Sie den Befehl sed, um das erste Zeichen aus der Zeichenfolge in Bash zu entfernen

In Bash können Sie das Anfangszeichen einer Zeichenfolge mit dem Befehl sed löschen, und wir können den Befehl s (substitute) mit dem regulären Ausdruck ^ (start of line) verwenden. Der Befehl s ermöglicht es uns, nach einem Muster in einem String zu suchen und diesen String gegen einen anderen String auszutauschen, während der reguläre Ausdruck ^ auf den Anfang der Zeile passt.

Nehmen wir zum Beispiel an, wir haben einen String namens my_string, der das Wort Welcome enthält, und wir möchten das erste Zeichen (den Buchstaben W) entfernen. Dazu können wir den Befehl sed verwenden:

my_string="Welcome"

new_string=$(echo "$my_string" | sed 's/^.//')

echo "The modified string is: $new_string"

Ausgang:

The modified string is: elcome

Im obigen Code verwenden wir den Befehl sed, um nach dem Muster ^ zu suchen. in die Variable my_string und ersetzen Sie sie durch einen leeren String. Das Zeichen ^ entspricht dem Zeilenanfang, während das Zeichen . Zeichen stimmt mit jedem einzelnen Zeichen überein.

Der Befehl sed entfernt das erste Zeichen der Zeichenkette, den Buchstaben W.

Die Ausgabe des Befehls sed wird dann in der Variablen new_string gespeichert, und wir verwenden den Befehl echo, um den geänderten String auszugeben. Die Ausgabe des Codes sollte The modified string is: elcome sein.

Verwenden Sie den Befehl cut, um das erste Zeichen aus der Zeichenfolge in Bash zu entfernen

Eine andere Bash-Methode zum Entfernen des ersten Zeichens aus einer Zeichenfolge ist die Verwendung des Befehls cut, mit dem wir eine bestimmte Anzahl von Zeichen aus einer Zeichenfolge extrahieren können. Der Befehl cut nimmt einen String als Eingabe und gibt nur die angegebenen Zeichen aus.

Um das erste Zeichen eines Strings mit dem Befehl cut zu entfernen, können wir mit der Option -c die zu extrahierenden Zeichenpositionen angeben. Nehmen wir zum Beispiel an, wir haben dieselbe my_string-Variable, die das Wort Hallo enthält, und wir möchten das erste Zeichen (den Buchstaben H) entfernen. Wir können den Befehl cut verwenden, um dies zu erreichen:

my_string="Hello"

new_string=$(echo "$my_string" | cut -c 2-)

echo "The modified string is: $new_string"

Ausgang:

The modified string is: ello

Im obigen Code verwenden wir den Befehl cut mit der Option -c, um die Zeichen von der zweiten Position (2) bis zum Ende der Zeichenfolge (-) zu extrahieren. Das bedeutet, dass der cut-Befehl das erste Zeichen des Strings entfernt, in diesem Fall der Buchstabe H.

Die Ausgabe des cut-Befehls wird dann in der new_string-Variable gespeichert, und wir verwenden den echo-Befehl, um den geänderten String auszugeben. Die Ausgabe des Codes sollte “The Modified String is: ello” lauten.

Verwenden Sie den Parameter substring, um das erste Zeichen aus der Zeichenfolge in Bash zu entfernen

Schließlich können wir in Bash mit der Parametererweiterung substring das erste Zeichen eines Strings entfernen. Diese spezielle Syntax ermöglicht es uns, String-Manipulationsoperationen an Variablen direkt im Bash-Skript durchzuführen, ohne externe Befehle wie sed oder cut zu verwenden.

Um das erste Zeichen eines Strings mit der Parametererweiterung substring zu entfernen, können wir die Syntax ${string:position} verwenden, wobei string die Variable ist, die den String enthält, und position die Startposition von ist der zu extrahierende Teilstring. Nehmen wir zum Beispiel an, wir haben dieselbe Variable my_string, die das Wort Hallo enthält, und wir möchten das erste Zeichen (den Buchstaben H) entfernen. Dazu können wir die Parametererweiterung substring verwenden:

my_string="Hello"

new_string=${my_string:1}

echo "The modified string is: $new_string"

Ausgang:

The modified string is: ello

Im obigen Code verwenden wir die Syntax ${my_string:1}, um die Teilzeichenfolge ab der zweiten Position (1) der Variablen my_string zu extrahieren. Das erste Zeichen (der Buchstabe H) wird aus der Zeichenfolge entfernt.

Die Ausgabe der Parametererweiterung substring wird dann in der Variablen new_string gespeichert, und wir verwenden den Befehl echo, um die geänderte Zeichenfolge auszugeben. Die Ausgabe des Codes sollte The modified string is: ello sein.

Zusammenfassend lässt sich sagen, dass es mehrere Möglichkeiten gibt, das erste Zeichen eines Strings in Bash zu entfernen, z. B. mit dem Befehl sed, dem Befehl cut oder der Parametererweiterung substring. Jede dieser Methoden hat ihre Vor- und Nachteile, und die beste Wahl wird es tun

Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn

Verwandter Artikel - Bash String