Linux: Textstring in Datei ersetzen [Guide]

Linux: Textstring in Datei ersetzen [Guide]

Das manuelle Bearbeiten von Textdateien unter Linux kann mühsam sein. Aus diesem Grund ist es gut zu wissen, wie Sie Textzeichenfolgen in Dateien mithilfe der Befehlszeile schnell ersetzen können. Wenn Sie Linux-Neuling sind und nicht wissen, wie es geht, können wir Ihnen helfen! Folgen Sie uns, wie wir Ihnen zeigen, wie Sie eine Textzeichenfolge in einer Datei unter Linux ersetzen!

Linux: Textstring in Datei ersetzen [Guide]

Textstring in Datei ersetzen – sed

Das sed-Tool ist der beste Weg, um eine Textzeichenfolge in einer Datei unter Linux zu ersetzen. Der Grund? Es ist einfach zu bedienen und macht seinen Job sehr gut. Sed ist normalerweise auf 99% der Linux-Betriebssysteme vorinstalliert, sodass es nicht installiert werden muss, um es zu verwenden.

Das Ersetzen einer Textzeichenfolge in einer Datei durch Sed erfolgt mit dem Befehl sed -i  . So verwenden Sie es. Öffnen Sie zunächst ein Terminalfenster auf dem Linux-Desktop. Sie können ein Terminalfenster öffnen, indem Sie Strg + Alt + T auf der Tastatur drücken  .

Sobald das Terminalfenster geöffnet und einsatzbereit ist, schreiben Sie sed -i  in die Terminal-Eingabeaufforderung. Dies ist der Beginn des Ersetzungsbefehls.

sed -i

Fügen Sie nach dem Schreiben des  Befehls sed -i  ein Anführungszeichen ' hinzu. Dieses Anführungszeichen ist wichtig, da der gesamte Text, der durch sed -i ersetzt wird  , nach diesem Zeichen beginnen muss.

sed - ich '

Schreiben Sie nach dem ersten  ' s/ . Das  s/ steht  direkt vor dem vorhandenen Text, den Sie mit sed ersetzen möchten  .

sed -i's/

Nachdem  s/  in die Eingabeaufforderung der Terminal-Befehlszeile geschrieben wurde, ist es an der Zeit, sed mitzuteilen, welcher Text in der Datei ersetzt werden soll. In diesem Beispiel ersetzen wir das Wort „Apfel“. 

sed -i 's/apple

Wenn der zu ersetzende Text in den Befehl geschrieben wird, besteht der nächste Schritt darin, den neuen Text einzugeben, der ihn ersetzt. In diesem Beispiel ersetzen wir „Äpfel“ durch „Orangen“.

sed -i's/Äpfel/Orangen

Sobald der zu ersetzende Text in den Befehl geschrieben ist (Orangen), schließen Sie den Befehl mit g/ ab . Das g/ weist  sed an, alle Textinstanzen (Äpfel) durch den neuen Text (Orangen) zu ersetzen. Es sollte wie im Beispiel unten aussehen.

Hinweis: Wenn Sie nicht jeden Text in der Datei ersetzen möchten (z. B. von Äpfeln zu Orangen), entfernen Sie das g und lassen Sie es sed -i 's/apples/oranges/'stattdessen als ausführen .

sed -i 's/Apfel/Orange/g'

Schließlich teilen Sie  sed mit, in  welcher Datei sich der Text befindet, der ersetzt werden muss. In diesem Beispiel ist fruit.txt im Home-Verzeichnis das Ziel.

Linux: Textstring in Datei ersetzen [Guide]

sed -i 's/apples/oranges/g' ~/fruit.txt

Drücken Sie die  Eingabetaste  , um den Befehl auszuführen und Ihre Textzeichenfolge in der Datei zu ersetzen.

Textstring in Datei ersetzen – Perl

Eine andere Möglichkeit, einen Textstring in einer Datei unter Linux zu ersetzen, ist die Programmiersprache Perl. Perl wird häufig für die Textverarbeitung verwendet, kann also natürlich Textstrings in Dateien austauschen und ist perfekt für diesen Anwendungsfall.

Stellen Sie zunächst sicher, dass Perl auf Ihrem Linux-PC installiert ist. Bei den meisten Linux-Betriebssystemen ist Perl installiert. Wenn Sie es jedoch nicht haben, sehen Sie auf der Hilfeseite Ihres Betriebssystems nach, wie Sie es zum Laufen bringen.

Die Verwendung von Perl zum Ersetzen von Textzeichenfolgen in einer Datei erfordert das Terminal. Öffnen Sie ein Terminal auf dem Linux-Desktop, indem Sie Strg + Alt + T  auf der Tastatur drücken  . Oder suchen Sie im App-Menü nach „Terminal“ und starten Sie es so.

Sobald das Terminalfenster geöffnet und einsatzbereit ist, geben Sie zunächst  perl -pe  in die Befehlszeilenaufforderung ein. Der  Befehl perl -pe  wird benötigt, um eine Textzeichenfolge in einer Datei zu ersetzen.

perl -pe

Wenn Sie perl -pe  in die Eingabeaufforderung des Terminals schreiben  , müssen Sie mit dem ersten  Anführungszeichen ' beginnen  . Diese Markierung teilt Perl mit, wo sich der Textersetzungsbereich im Befehl befindet.

perl-pe '

Nach den ersten  Anführungszeichen, Add  s / , gefolgt von der Zeichenfolge von Text , den Sie ersetzen mögen, und ein anderes / . Um beispielsweise „Äpfel“ in der Datei fruit.txt zu ersetzen, schreiben Sie den folgenden Text.

perl -pe 's/äpfel/

Nachdem Sie die Wörter ausgeschrieben haben, die Sie ersetzen möchten, fügen Sie das Wort hinzu, das den vorhandenen Text ersetzt. Wenn Sie beispielsweise „Äpfel“ in „fruit.txt“ durch „Orangen“ ersetzen möchten, fügen Sie nach „Orangen“ hinzu, perl -pe 's/apples/damit es wie folgt aussieht perl -pe 's/apples/oranges/.

perl -pe 's/Äpfel/Orangen/

Sobald beide Textstrings im Befehl enthalten sind, müssen Sie die Eingabedatei angeben, die Perl verwendet. Wenn Sie beispielsweise Text in der Datei „fruit.txt“ ersetzen möchten, müssen Sie dies im Befehl angeben.

Hinweis: In diesem Beispiel befindet sich die Datei „fruit.txt“ im Home-Verzeichnis (~/). Stellen Sie sicher, dass Sie „~/fruit.txt“ durch den Speicherort Ihrer Textdatei ersetzen, damit der Befehl funktioniert.

perl -pe 's/apples/oranges/' ~/fruit.txt

Nachdem nun die Eingabedatei (die Datei, die Sie mit Perl ändern) zum Befehl hinzugefügt wurde, sollte der Befehl wie folgt aussehen.

Linux: Textstring in Datei ersetzen [Guide]

perl -pe 's/apples/oranges/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt

Wenn der obige Befehl ausgeführt wird, wird die Textzeichenfolge durch den neuen von Ihnen angegebenen Text ersetzt. In unserem Beispiel haben wir „Äpfel“ durch „Orangen“ ersetzt. Geben Sie den folgenden Befehl ein, um die Änderungen anzuzeigen.

Katzenfrucht.txt


So installieren Sie GitLab auf Ubuntu Server

So installieren Sie GitLab auf Ubuntu Server

Möchten Sie GitLab auf Ihrem Ubuntu-Server zum Laufen bringen? GitLab ist eine leistungsstarke selbsthostbare Alternative zu Diensten wie GitHub. Damit können Sie

Absicherung eines Ubuntu-Linux-Servers mit SELinux

Absicherung eines Ubuntu-Linux-Servers mit SELinux

Erfahren Sie, wie Sie Ihrem Ubuntu-Linux-Server zusätzliche Sicherheit verleihen können, indem Sie SELinux darauf installieren und aktivieren.

Konfigurieren Sie NFS auf einem Linux-Server mit Cockpit

Konfigurieren Sie NFS auf einem Linux-Server mit Cockpit

Benötigen Sie eine einfachere Möglichkeit, NFS-Freigaben auf Ihrem Linux-Server bereitzustellen? Erfahren Sie, wie Sie NFS-Freigaben mit der Cockpit-App bereitstellen.

So aktualisieren Sie auf Ubuntu 22.04 LTS

So aktualisieren Sie auf Ubuntu 22.04 LTS

Die langfristige Unterstützung für Ubuntu 22.04 ist da! Erfahren Sie, wie Sie Ihren Desktop oder Laptop auf die neueste Ubuntu-Version aktualisieren.

So installieren Sie die neuesten Nvidia-GPU-Treiber unter Linux

So installieren Sie die neuesten Nvidia-GPU-Treiber unter Linux

So installieren Sie die neuesten Nvidia GPU-Treiber unter Linux

So übertragen Sie Dateien in einen Docker-Container

So übertragen Sie Dateien in einen Docker-Container

Müssen Sie Dateien in Ihren Docker-Container übertragen? Mit dem Docker-CP-Tool können Sie Dateien ganz einfach in und aus Containern verschieben.

So installieren Sie eine DEB-Datei unter Linux

So installieren Sie eine DEB-Datei unter Linux

Was ist eine DEB-Datei? Was machst du damit? Erfahren Sie mehr über die vielen Möglichkeiten, wie Sie DEB-Dateien auf Ihrem Linux-PC installieren können.

So bringen Sie GOG Galaxy unter Linux zum Laufen

So bringen Sie GOG Galaxy unter Linux zum Laufen

Besitzen Sie Spiele auf GOG.com? Möchten Sie den GOG Galaxy-Client auf Ihrem Linux-PC einrichten, um einige Videospiele zu genießen? Befolgen Sie diese Anleitung, wie wir sie zeigen

So installieren Sie Docker Engine unter CentOS

So installieren Sie Docker Engine unter CentOS

Docker Engine ist ein offenes Containerisierungsprogramm für Linux und andere Plattformen. Docker Engine verwaltet eigenständige Container, die ähnlich funktionieren wie

So bündeln Sie alle Ihre Chats mit Ferdi in einem

So bündeln Sie alle Ihre Chats mit Ferdi in einem

Sind Sie es leid, Slack, Discord und viele andere Produktivitätstools auf Ihrem Linux-System zu installieren? Wünschen Sie sich, dass sie alle zu einem zusammengefasst werden könnten?