Linux Shell – String ersetzen

Wenn man einmal vor dem Problem steht einen String in einer oder mehreren Dateien zu ersetzen, hilft einem folgender Shell Befehl.

String in einer Datei ersetzen:

sed -i "s/ALTERSTRING/NEUERSTRING/g" datei.txt

String in mehreren Dateien mit der Endung txt im selben Verzeichniss ersetzen:

sed -i "s/ALTERSTRING/NEUERSTRING/g" *.txt

String in einer Datei suchen und in eine neue Datei schreiben und ersetzen:

sed "s/ALTERSTRING/NEUERSTRING/g" datei.txt > datei_neu.txt

Das “s” steht in diesem Falle für “substitute” (Ersatz) sowie das “g” für “global”. Würde man das “g” weg lassen, würde pro Zeile nur ein String ersetzt!