Bash Zeilenumbruch aus Zeichenfolge entfernen
- Erstellen Sie eine Zeichenfolge mit Zeilenumbruchzeichen in Bash
- Entfernen Sie Zeilenumbruchzeichen aus einer Zeichenfolge mit Bashims in Bash
-
Entfernen Sie Zeilenumbruchzeichen aus einer Zeichenfolge mit dem Befehl
tr
in Bash -
Entfernen Sie Zeilenumbruchzeichen aus einer Zeichenfolge mit der Option
extglob
in Bash
Dieses Tutorial zeigt, wie Sie in Bash einen Zeilenumbruch aus einer Zeichenfolge entfernen.
Erstellen Sie eine Zeichenfolge mit Zeilenumbruchzeichen in Bash
Manchmal ist es erforderlich, kein Zeilenumbruchzeichen in einer Zeichenfolge zu haben. Bash bietet mehrere Methoden, um die Zeilenumbruchzeichen aus einer bestimmten Zeichenfolge zu entfernen.
Um das Beispiel auszuführen, erstellen Sie zunächst eine Zeichenfolge mit Zeilenumbruchzeichen. Lassen Sie uns mit dem folgenden Befehl eine neue Zeichenfolge erstellen:
DemoString=$'\nThis is delftstack.com\r \n'
echo "|${DemoString}|"
Der obige Befehl erstellt die Zeichenfolge mit Zeilenumbruchzeichen \n
s. Siehe die Ausgabe:
|
This is delftstack.com
|
Entfernen Sie Zeilenumbruchzeichen aus einer Zeichenfolge mit Bashims in Bash
Die Bashismen sind //
, die verwendet werden können, um die Zeilenumbruchzeichen aus einer Zeichenfolge zu entfernen. Dieser Operator übernimmt den Parameter, den Sie aus den Zeichenfolgen entfernen möchten.
Sehen wir uns an, wie man //
verwendet, um die Zeilenumbruchzeichen aus einer Zeichenfolge zu entfernen:
echo "|${DemoString//[$'\t\n\r']}|"
echo "|${DemoString//[$'\t\n\r' ]}|"
Es gibt zwei Befehle, einen mit den Parametern \t\n\r
und einen mit den Parametern \t\n\r
und einem Leerzeichen. Der obige Befehl verwendet Bashismen, um das Zeilenumbruchzeichen und die Leerzeichen zu entfernen.
Siehe die Ausgabe:
|This is delftstack.com |
|Thisisdelftstack.com|
Entfernen Sie Zeilenumbruchzeichen aus einer Zeichenfolge mit dem Befehl tr
in Bash
Der Befehl tr
funktioniert ähnlich wie Bashim; es löscht die Zeichen in den Parametern. Der Befehl tr
wird auch verwendet, um die Zeichen in der Zeichenfolge zu ersetzen.
Aber jetzt können wir uns auf die Löschoption konzentrieren, für die wir -d
im Befehl verwenden.
Versuchen wir ein Beispiel, das das Zeilenumbruchzeichen mit dem Befehl tr
aus der angegebenen Zeichenfolge entfernt:
DemoString=$'\nThis is delftstack.com\r \n'
echo "|$DemoString|"|tr -d '\n\r'
Der obige Befehl versucht, das Zeilenumbruchzeichen aus der angegebenen Zeichenfolge zu entfernen. Siehe die Ausgabe:
|This is delftstack.com |
Wir können das zusätzliche Leerzeichen auch mit dem Befehl tr
entfernen. Siehe Beispiel:
DemoString=$'\nThis is delftstack.com\r \n'
echo "|$DemoString|"|tr -d '\n\r '
Der obige Befehl entfernt auch das Leerzeichen aus der Zeichenfolge. Siehe die Ausgabe:
|Thisisdelftstack.com|
Entfernen Sie Zeilenumbruchzeichen aus einer Zeichenfolge mit der Option extglob
in Bash
Die Option extglob
bietet auch Funktionen zum Entfernen von Leerzeichen und Zeilenumbrüchen. Um diese Option zu verwenden, stellen Sie zunächst sicher, dass sie in Bash aktiviert ist.
Der extglob
bietet viele Optionen, die für verschiedene Operationen verwendet werden können. Siehe Tabelle unten.
Möglichkeit | Beschreibung |
---|---|
? |
Kann verwendet werden, um das keine oder ein Vorkommen der angegebenen Muster abzugleichen. |
* |
Kann verwendet werden, um keine oder mehrere Vorkommen der angegebenen Muster abzugleichen. |
+ |
Kann verwendet werden, um keine oder mehrere Vorkommen der angegebenen Muster abzugleichen. |
@ |
Kann mit einem der angegebenen Muster übereinstimmen. |
! (Musterliste) |
Kann mit allem außer einem der angegebenen Muster übereinstimmen. |
Versuchen wir ein Beispiel, das das Zeilenumbruchzeichen aus der angegebenen Zeichenfolge entfernt, indem die Option extglob
verwendet wird. Siehe das Beispiel:
shopt -s extglob
shopt extglob
DemoString=$'\nThis is delftstack.com\r \n'
echo "|${DemoString%%*([$'\t\r\n '])}|"
Das shopt -s extglob
wird verwendet, um die Option extglob
in Bash zu aktivieren, und shopt extglob
wird verwendet, um den Status von extglob
anzuzeigen, und schließlich entfernt der letzte Befehl das Zeilenumbruchzeichen mit dem extglob
.
Siehe die Ausgabe:
extglob on
|
This is delftstack.com|
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook