Trimmen Leerzeichen in Bash

Fumbani Banda 24 März 2022
  1. Verwenden des Befehls xargs zum Trimmen von Leerzeichen in Bash
  2. Verwenden des Befehls sed zum Trimmen von Leerzeichen in Bash
  3. Verwenden des Befehls awk zum Trimmen von Leerzeichen in Bash
Trimmen Leerzeichen in Bash

Dieses Tutorial zeigt das Trimmen von Leerzeichen in Bash mit den Befehlen xargs, sed und awk.

Verwenden des Befehls xargs zum Trimmen von Leerzeichen in Bash

xargs steht für eXtended ARGuments. xargs liest Eingaben von der Standardeingabe und wandelt die Eingaben in Argumente eines Befehls um. Der Befehl xargs kann auch verwendet werden, um externe Leerzeichen aus einem String in der Bash zu entfernen.

Das folgende Beispiel zeigt die Verwendung von xargs zum Trimmen von Leerzeichen aus einer Zeichenfolge in Bash.

xargs

Der Befehl xargs entfernt die Leerzeichen am Anfang und am Ende des Strings. Die internen Leerzeichen in der Zeichenfolge werden nicht entfernt. Aus dem obigen Bild wurde der interne Leerraum zwischen , und world nicht entfernt, während die Leerzeichen am Anfang und am Ende der Zeichenfolge entfernt wurden.

Verwenden des Befehls sed zum Trimmen von Leerzeichen in Bash

Der Befehl sed kann auch verwendet werden, um Leerzeichen am Anfang und am Ende eines Strings in der Bash zu entfernen. Das folgende Skript verwendet den Befehl sed, um nachgestellte und führende Leerzeichen aus einer Zeichenfolge in Bash zu entfernen.

text="   Bash is Fun   "
#print the original text
echo "$text"

#remove whitespaces
var=`echo $text | sed 's/ *$//g'`

echo "Hi there $var!"

Beim Ausführen des Skripts wird die folgende Ausgabe angezeigt.

   Bash is Fun
Hi there Bash is Fun!  

Verwenden des Befehls awk zum Trimmen von Leerzeichen in Bash

Der Befehl awk wird auch verwendet, um die Leerzeichen einer Datei oder eines Strings in der Bash zu kürzen. Mit awk können wir Leerzeichen am Anfang eines Strings kürzen und wir können Leerzeichen am Ende des Strings kürzen oder beides.

Lassen Sie uns ein Bash-Skript schreiben, das awk verwendet, um Leerzeichen am Anfang eines Strings zu entfernen. Dieses (/^[ \t]+/,"") weist den awk-Befehl an, den Leerraum am Anfang des Textes durch nichts zu ersetzen, "".

text="   Bash is Fun   "
#print the original text
echo "$text"

#print the new text after trimming the whitespace at the beginning
echo "$text" | awk '{gsub(/^[ \t]+/,""); print$0, "!"}'

Lassen Sie uns das Skript ausführen.

bash trim_start.sh

Das Skript erzeugt die folgende Ausgabe.

   Bash is Fun
Bash is Fun    !

Aus der Ausgabe können wir sehen, dass der Leerraum am Anfang der Zeichenfolge entfernt wurde.

Lassen Sie uns ein Bash-Skript schreiben, das die Leerzeichen am Ende der Zeichenfolge entfernt.

text="   Bash is Fun   "
#print the original text
echo "$text"

#print the new text after trimming the whitespace at the end
echo "$text" | awk '{gsub(/[ \t]+$/,""); print$0, "!"}'

Lassen Sie uns das Skript ausführen.

bash trim_end.sh

Das Ausführen des Skripts erzeugt die folgende Ausgabe.

   Bash is Fun
   Bash is Fun !

Lassen Sie uns nun ein Bash-Skript schreiben, das Leerzeichen sowohl am Anfang als auch am Ende eines Bash-Skripts entfernt.

text="   Bash is Fun   "
#print the original text
echo "$text"

#print the new text after trimming the whitespace at the start and end
echo "$text" | awk '{gsub(/^[ \t]+| [ \t]+$/,""); print$0, "!"}'

Lassen Sie uns das Skript ausführen.

bash trim.sh

Das Skript zeigt die folgende Ausgabe auf der Standardausgabe an. Die führenden und abschließenden Leerzeichen wurden aus der Zeichenfolge entfernt.

   Bash is Fun
Bash is Fun !
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

Verwandter Artikel - Bash String