Thread Neues Pattern Matching (13 answers)
Opened by Speedriff at 2013-12-03 13:12

Speedriff
 2013-12-03 13:12
#172393 #172393
User since
2013-11-25
39 Artikel
BenutzerIn
[default_avatar]
Hi Leute, ich mal wieder ;-)

Stehe vor einem neuen Problem:
Wollte mir ein kleines Hilfsskript schreiben um nicht so viel tippen zu müssen.
Eine CSV Datei (test.csv) sieht folgendermaßen aus:
Code: (dl )
1
2
3
4
5
MessID1
MessID2
MessID3
MessID4
...

Diese Datei möchte ich so bearbeiten damit sie anschließend so aussieht:

Code: (dl )
1
2
3
4
5
$temp =~ s/Item 1/MessID1/;
$temp =~ s/Item 2/MessID2/;
$temp =~ s/Item 3/MessID3/;
&temp =~ s/Item 4/MessID4/;
...

Den entstehenden Code würde ich anschließend in ein neues Skript kopieren und spare mir somit massig an Schreibarbeit, denn es gibt einige hundert MessIDs in der test.csv.
Mit dem entstehenden Skript sollen dann für andere Dateien jeweils das fortlaufend nummerierte "Item" in die MessIDs umgewandelt werden.
Hoffe ich versteht wie ich das meine.

Mein Ansatz (der leider garnichts bewirkt, allerdings auch keinen Fehler bringt) ist folgender:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl -w
use strict;
use IO::All;

my $datei_in = '/home/ordner/test.csv'
my $datei < io("$datei_in");
my $z = 1;
my $ersetzung ='$temp =~ s/Item';

while($datei =~ s/^(.*)$/$ersetzung $z\/$1;/g) {$z++}

my $datei_out = $datei_in
$datei_out =~ s/\.csv/_geaendert\.csv/;
$datei >> io("$datei_out");


Was habe ich übersehen dass es nicht funktioniert? Er schreibt zwar eine neue Datei, jedoch steht wieder genau dasselbe drin wie in der Urpsrungsdatei...
Vieleicht habt ihr eine Idee was man besser machen könnte :-)
Gruß,
Speedriff
Last edited: 2013-12-03 14:55:28 +0100 (CET)

View full thread Neues Pattern Matching