In Datei feste zeichenkette durch andere ersetzen
|
Seitenanfang |
| Datei plugin-cfg.xml Zeile: <Log LogLevel="Error" Name="/opt/websphere-61/plugin/logs/http_plugin.log"/> ersetzen nach Name= durch /var/opt/log/websphere/http_plugin.log - soll Orginaldatei ändern - brauche Lösung Perl oder sed/awk für diesen Austauschvorgang - es gibt ein Perl Commandline so ähnlich, u.g. funktiont so aber nicht. xlamucrh007:/opt/websphere_tools/bin $ echo $a $b /opt/websphere-61/plugin/logs/http_plugin.log /var/opt/log/websphere/http_plugin.log perl -i -ple 's/\$a/\$b/' plugin-cfg.xml
Datum: 09.07.2008-15:58

|
re: In Datei feste zeichenkette durch andere ersetzen
|
Seitenanfang |
| perl -pi -e 's#/opt/websphere-61/plugin/logs/http_plugin.log#/var/opt/log/websphere/http_plugin.log#g' plugin-cfg.xml - s// kann auch andere delimiter benutzen (hier #), um dann einfacher ein / suchen zu können - Deines würde funktionieren, wenn Du den Backslash vor $a und $b weglässt, damit sie als Variablen erkannt und interpoliert werden. Sonst suchst Du nur nach dem String '$a' und - falls er gefunden wird - ersatzt ihn durch den String $b. H2H, Sven
Datum: 10.07.2008-14:02

|
re: In Datei feste zeichenkette durch andere ersetzen
|
Seitenanfang |
| mit hardcodiertem Pfadangaben funktioniert es. aber mit $a und $b kommt die Meldung: perl -pi -e 's/#$a#/$b#g' /tmp/plugin-cfg.xml Substitution replacement not terminated at -e line 1. xlamucrh007:/tmp $ perl -pi -e 's/$a/$bg' /tmp/plugin-cfg.xml Substitution replacement not terminated at -e line 1.
Datum: 10.07.2008-16:20

|
re: In Datei feste zeichenkette durch andere ersetzen
|
Seitenanfang |
| > perl -pi -e 's/#$a#/$b#g' Du verwendest hier wieder '/' als Delimiter... Entweder perl -pi -e 's#$a#$b#g' oder perl -pi -e 's/$a/$b/g'
Datum: 11.07.2008-09:46

|