Bash Zeilenumbruch aus Zeichenfolge entfernen

Sheeraz Gul 20 Juni 2023
  1. Erstellen Sie eine Zeichenfolge mit Zeilenumbruchzeichen in Bash
  2. Entfernen Sie Zeilenumbruchzeichen aus einer Zeichenfolge mit Bashims in Bash
  3. Entfernen Sie Zeilenumbruchzeichen aus einer Zeichenfolge mit dem Befehl tr in Bash
  4. Entfernen Sie Zeilenumbruchzeichen aus einer Zeichenfolge mit der Option extglob in Bash
Bash Zeilenumbruch aus Zeichenfolge entfernen

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 Gul avatar Sheeraz Gul avatar

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

Verwandter Artikel - Bash String