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

Erin
 2012-08-01 17:03
#160442 #160442
User since
2012-08-01
7 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich bin ein Perl-Newbie und brauche Hilfe bei folgendem Problem:

Ich möchte in vielen Files mit der Endung "cutout.wrl", z.B. "a1_cutout.wrl", "a2_cutout.wrl", usw. jeweils 3 Zeilen ändern:

Statt:
position 20 0 100
orientation 0.0 -0.8 0 -0.2
fieldOfView 0.75

soll da nacher stehen:
position 0 -14 120
orientation 0 -0.3 10 0
fieldOfView 0.23

Ich habe ziemlich vieles erfolglos probiert. Laut vieler Internet-Foren wäre sowas einfach ein Einzeiler:

Code: (dl )
1
2
#!/usr/bin/ perl 
-p -e s/$v1/$v2/g $v3;


Damit soll man dann alle Files im aktuellen Ordner mit der Endung $v3 durchgehen können und $v1 mit $v2 ersetzen.

Ich habe z.B. Folgendes probiert:

Code: (dl )
1
2
3
4
5
6
#!/usr/bin/ perl
use strict; use warnings;
my $oldpos = "position 20 0 100";
my $pos = "0 -14 120";
my $ending = "cutout.wrl";
-p -e s/$oldpos/$pos/g $ending


Es funktioniert leider gar nicht. Ich habe auch verschiedene Routinen versucht, in denen ich Files zum Schreiben öffne und dann mit while arbeite usw.

"EIGENTLICH" sollte das doch einfach sein, oder?

Vielen Dank! Erin
Last edited: 2012-08-01 17:04:31 +0200 (CEST)

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