So ersetzen Sie einen Charakter durch ein anderes im Bash -Skript
Das Ersetzen eines Charakters durch einen anderen ist eine häufige Aufgabe beim Schärfen -Skripting und kann in vielen verschiedenen Szenarien nützlich sein. Hier sind die drei einfachen Möglichkeiten, einen Charakter durch ein anderes in einem Bash -Skript zu ersetzen:
So ersetzen Sie ein Zeichen durch einen anderen mit TR -Befehl in Bash
Der TR -Befehl ist ein einfaches Werkzeug zum Übersetzen, Löschen oder Drücken von Zeichen in einer Zeichenfolge. Es kann verwendet werden, um ein Zeichen durch ein anderes zu ersetzen, indem die zu ersetzenden Zeichen und deren Austausch angeben. Hier ist die Syntax für die Verwendung dieses Befehls:
Tr '' ''
Zur Veranschaulichung, wenn ich eine Zeichenfolge genommen habe, die "Hallo Linux" ist und wenn ich den Großbuchstaben L durch Großbuchstaben W ersetzen möchte, kann er mit dem TR -Befehl wie folgt erfolgen:
Echo "Hallo Linux" | Tr 'l' 'w'
Hier ist der vollständige Bash -Code, der zeigt, wie der TR -Befehl zum Ersetzen eines Zeichens durch einen anderen verwendet wird:
#!/Bin/Bash
Main_string = "Hallo Linux"
exportieren new_string = $ (echo "$ main_string" | tr 'l' 'w'))
echo "main_string:" $ main_string
echo "modified_string:" $ new_string
Hier ist die Ausgabe für das Bash -Skript, L wird durch W ersetzt:
So ersetzen Sie einen Charakter durch einen anderen mit SED -Befehl in Bash
Eine andere Möglichkeit, einen Charakter durch einen anderen Charakter in Bash zu ersetzen, besteht darin, den SED -Befehl zu verwenden. Der SED -Befehl ist ein Stream -Editor, der verschiedene Operationen in einer Zeichenfolge durchführen kann, einschließlich Substitution. Hier ist die Syntax, die diesen Befehl zum Ersetzen eines Zeichens durch ein anderes verwendet:
sed 's /// g'
Zum Illustration, wenn ich eine Zeichenfolge genommen habe, die "Hallo Linux" ist und ich den Kleinbuchstaben "L" durch "W" ersetzen möchte, kann er mit dem TR -Befehl wie folgt erfolgen:
Echo "Hallo Linux" | sed 's/l/w/g'
Hier ist der vollständige Bash -Code, der zeigt, wie der Befehl SED verwendet wird, um einen Zeichen durch einen anderen zu ersetzen:
#!/Bin/Bash
Main_string = "Hallo Linux"
New_string = $ (echo "$ main_string" | sed 's/l/w/g'))
echo "main_string:" $ main_string
echo "modified_string:" $ new_string
In diesem Beispiel verwenden wir den Befehl echo, um die Zeichenfolge „Hallo Linux“ auszugeben und dann die Ausgabe in den SED -Befehl zu verwalten. Der Befehl SED verwendet den Befehl Substitution (en), um alle Vorkommen des Buchstabens „L“ durch den Buchstaben „W“ zu ersetzen. Die G -Option am Ende des Befehls sagt SED, alle Vorkommen des Zeichens in der Zeichenfolge zu ersetzen, nicht nur das erste Ereignis. Die Ausgabe dieses Befehls lautet "Hallo Winux":
So ersetzen Sie ein Zeichen durch eine andere unter Verwendung der Parameterausdehnung in Bash
Eine andere Möglichkeit, ein Zeichen durch ein anderes in Bash zu ersetzen, können Sie durch die Verwendung einer Parameterausdehnung sein. Hier ist ein Beispiel, das „L“ der ursprünglichen Zeichenfolge ersetzt wird
#!/Bin/Bash
Main_string = "Hallo Linux"
New_string = "$ main_string // l/w"
echo "main_string:" $ main_string
echo "modified_string:" $ new_string
In diesem Beispiel verwenden wir die Parameterausdehnung, um alle Vorkommen des Kleinbuchstabenbuchs „H“ durch den Buchstaben „S“ in der Variablen main_string zu ersetzen. Die Ausgabe dieses Befehls lautet "Hallo Winux":
Abschluss
Es gibt verschiedene Möglichkeiten, ein Zeichen durch ein anderes Zeichen in Bash zu ersetzen, einschließlich der Verwendung des TR -Befehls, des SED -Befehls und der Parameterausdehnung. Jede Methode hat ihre eigenen Vor- und Nachteile. Wählen Sie daher diejenige, die für Ihren spezifischen Anwendungsfall am besten geeignet ist.