Trimmen Leerzeichen in Bash
-
Verwenden des Befehls
xargs
zum Trimmen von Leerzeichen in Bash -
Verwenden des Befehls
sed
zum Trimmen von Leerzeichen in Bash -
Verwenden des Befehls
awk
zum Trimmen von 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.
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 !