Frage zu einem kleinen Perl-Script

Gast #637336
Lesenswert?

Hallo, ich habe eine Datei (file.dat) mit folgendem Inhalt:

1 25.00 545.00 285.00 #N/A 1162 116.26 99.21 0.5068 0.0074 0.0004 0.0003 
12
2 25.00 545.00 335.00 #N/A 1207 120.89 99.03 0.5085 0.0064 0.0004 0.0003 
16
3 25.00 545.00 385.00 #N/A 1415 141.65 99.18 0.5068 0.0063 0.0003 0.0002 
16
4 25.00 545.00 435.00 #N/A 1381 138.18 99.55 0.5133 0.0065 0.0003 0.0002 
16
5 25.00 545.00 485.00 #N/A 1224 122.63 99.47 0.5183 0.0064 0.0004 0.0003 
12
6 25.00 545.00 535.00 #N/A 1245 124.55 99.57 0.5219 0.0065 0.0004 0.0003 
16
7 25.00 545.00 585.00 #N/A 1217 121.83 99.11 0.5195 0.0062 0.0003 0.0002 
16
8 25.00 545.00 635.00 #N/A 1330 133.07 99.17 0.5204 0.0065 0.0004 0.0002 
19
9 25.00 545.00 685.00 #N/A 1330 133.07 99.18 0.5216 0.0066 0.0004 0.0003 
16

Ich möchte nun eine zweite Datei (label.dat) haben, in der folgendes 
steht:

set label "0.5068" at 545.00,285.00
set label "0.5085" at 545.00,335.00
set label "0.5068" at 545.00,385.00
set label "0.5133" at 545.00,435.00
set label "0.5183" at 545.00,485.00
set label "0.5219" at 545.00,535.00
set label "0.5195" at 545.00,585.00
set label "0.5204" at 545.00,635.00
set label "0.5216" at 545.00,685.00


Also: in die Klammer kommt der Wert aus Spalte 9, hinter dem "at" stehen 
die Spalten 3 und 4.

Mit Perl soll das so gehen:

perl -ane 'print "set label \"($F[9])\" at $F[3],$F[4]\n"' file.dat > 
label.plt

Aber ich bekomme immer einen Fehler angezeigt:

can't find string terminator "'" anywhere before EOF at -e line 1.



Gruß
Jonny_B
#638305
Lesenswert?

Jonny_B wrote:
> Unter Windows NT .-(

Na dann funktioniert die *nix-Syntax für den Kommandointerpreter 
natürlich nicht - der hat nämlich keine Ahnung, was ' bedeutet...

Schreib am besten eine .pl-Datei, die dein Programm enthält, dann mußt 
du dich nicht mit mehrfach escapten Anführungszeichen rumärgern.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren