GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Suchen und Ersetzen in Shell-Skripten

Sie können sed verwenden, um Suchen/Ersetzen durchzuführen. Normalerweise mache ich das über ein Bash-Shell-Skript und verschiebe die ursprüngliche Datei mit den zu ersetzenden Werten in einen neuen Namen und führe sed aus, indem ich die Ausgabe wie folgt in meinen ursprünglichen Dateinamen schreibe:

#!/bin/bash
mv myfile.txt myfile.txt.in

sed -e 's/PatternToBeReplaced/Replacement/g' myfile.txt.in > myfile.txt.

Wenn Sie keine Ausgabe angeben, geht die Ersetzung nach stdout.


sed -i 's/variable/replacement/g' *.conf

Dazu können Sie sed verwenden:

sed -i 's/toreplace/yoursetting/' configfile 

sed ist wahrscheinlich auf jedem Unix-ähnlichen System da draußen verfügbar. Wenn Sie mehr als ein Vorkommen ersetzen möchten, können Sie dem s-Befehl ein g hinzufügen:

sed -i 's/toreplace/yoursetting/g' configfile 

Seien Sie vorsichtig, da dies Ihre Konfigurationsdatei vollständig zerstören kann, wenn Sie Ihren toreplace-Wert nicht korrekt angeben. sed unterstützt auch reguläre Ausdrücke beim Suchen und Ersetzen.


Sicher, Sie können dies mit sed oder awk tun. sed-Beispiel:

sed -i 's/Andrew/James/g' /home/oleksandr/names.txt

Linux
  1. Vi- und Vim-Editor:12 leistungsstarke Beispiele zum Suchen und Ersetzen

  2. Verwenden von grep und sed zum Suchen und Ersetzen einer Zeichenfolge

  3. Finden Sie passenden Text und ersetzen Sie die nächste Zeile

  4. Suchen und ersetzen Sie Text in einer Datei zwischen einem Zeilenbereich mit sed

  5. Unterschied zwischen '{}' und {} im Find-Befehl?

So verwenden Sie den SED-Befehl zum Suchen und Ersetzen von Zeichenfolgen in Dateien

So suchen und ersetzen Sie Text, Wort oder Zeichenfolge in einer Datei

So finden und ersetzen Sie Text in Vim

Shell-Scripting Teil 4 – Eingabe, Ausgabe und Umleitung

Unix Sed Tutorial:Suchen und Ersetzen von Text in einer Datei mit RegEx

So verwenden Sie Sed zum Suchen und Ersetzen einer Zeichenfolge in einer Datei