unix12
Goto Top

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

Content-Key: 195513

Url: https://administrator.de/contentid/195513

Printed on: April 24, 2024 at 12:04 o'clock

Member: Hitman4021
Hitman4021 Dec 07, 2012 at 10:17:52 (UTC)
Goto Top
Hallo,

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

Gruß
Member: unix12
unix12 Dec 07, 2012 at 10:24:46 (UTC)
Goto Top
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ß
Member: Hitman4021
Hitman4021 Dec 07, 2012 updated at 10:41:30 (UTC)
Goto Top
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.