Thread Ersetzen von Zeilen mit Strings und Zahlen in längerem File (21 answers)
Opened by Erin at 2012-08-01 17:03

GUIfreund
 2012-08-01 20:33
#160462 #160462
User since
2011-08-08
559 Artikel
BenutzerIn
[default_avatar]
2012-08-01T15:40:10 Erin
Code: (dl )
1
2
$ perl
-i.bak -p -e 'BEGIN { $/=undef; $search = "position 20 0 100\norientation 0.0 -0.8 0 -0.2\nfieldOfView 0.75\n"; $replace = "position 0 -14 120\norientation 0 -0.3 10 0\nfieldOfView 0.23\n"; } s/$search/$replace/msg;' a1_cutout.wrl

In der Shell direkt erhalte ich die Meldung:
Der Befehl "$" ist entweder falsch geschrieben..usw.

Der Kode von Linuxer bezieht sich offenbar auf Linux. Deine Fehlermeldung deutet darauf hin, dass du Windows benutzt. Die Windows-Shell kennt nur " als Stringtrenner. Du musst also den Einzeiler umbauen (das ist das Schöne an Perl-Einzeilern):

Ersetze alle "....." durch qq(.....). Falls Klammern im String vorkommen, müsstest du bei qq statt der Klammern andere Trennzeichen nehmen, die nicht im String vorkommen. Ersetze schließlich '.....' durch ".....". Der Einzeiler hat dann gute Chancen, auch unter Linux lauffähig zu sein. (Im letzten Satz ist das "Linux" kein Flüchtigkeitsfehler, der Einzeiler sollte jetzt unter beiden Plattformen laufen).
Gruß
GUIfreund

View full thread Ersetzen von Zeilen mit Strings und Zahlen in längerem File