unix12

Shell-Script String finden und gefolgten String ersetzen

Hallo zusammen

ich bin neu hier und hätte eine Frage.

Ich versuche gerade ein Shell-Script zu schreiben, welches nach einem bestimmten Wort sucht, und den nächsten gefolgten String durch einen anderen ersetzt.

Bsp:

String1: String2

im Beispiel oben sollte nach String1: gesucht werden und String2 durch ein anderes Wort ersetzt werden.

Kann mir da jemand helfen?

Danke im Voraus
unix12
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 195513

Url: https://administrator.de/forum/shell-script-string-finden-und-gefolgten-string-ersetzen-195513.html

Ausgedruckt am: 18.07.2025 um 11:07 Uhr

Hitman4021
Hitman4021 07.12.2012 um 11:17:52 Uhr
Hallo,

sed.sourceforge.net/sed1line_de.html
Hier solttest du alles dazu finden face-smile

Gruß
unix12
unix12 07.12.2012 um 11:24:46 Uhr
Hallo

danke für deine Antwort.
Mit sed habe ich mich schon auseinander gesetzt.
Wenn ich jetzt sage
find /datei.txt -name String1 .....
weiß ich nicht wie ich den 2. String herausfinde und diesen dann ersetzen kann.

Kannst du mir evtl das posten?

Gruß
Hitman4021
Hitman4021 07.12.2012 aktualisiert um 11:41:30 Uhr
Hallo,

#!/bin/bash
# Ersetze "STRING2" mit "STRING3" NUR in Zeilen die "STRING1" enthalten 
sed '/String1/s/STRING2/STRING3/g' datei.txt > datei_neu.txt  
mv datei_neu.txt datei.txt
Fertig.
Wenn du GNU Sed benutzt musst du nicht über die tmp Datei gehen.

Gruß

EDIT:
Ausgabeumleitung vergessen.