perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 38
Click for quality!




11.02.2012 / 17:15

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragIn 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

Beitragre: 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

Beitragre: 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

Beitragre: 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

-






-
-