Thread Zwei Dateien auslesen (8 answers)
Opened by azib at 2015-10-29 16:17

azib
 2015-10-29 16:17
#182736 #182736
User since
2015-10-28
5 Artikel
BenutzerIn
[default_avatar]
Hallo,
(wieder einmal) ganz blöd gefragt:

Ich habe zwei Dateien, die ich jeweils in ein array auslese und dann einzelne Felder in jeweils eine neue Datei schreibe.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
$count=0;
my $file1="38579.txt";
my @a;
my @neu1;
my $in;
my $datei;

open ($in, "<", $file1) or die "Datei $file1 existiert nicht\n";
while (<$in>){
     chomp ($_);
     @a=split (/\t/, $_); 
     push (@neu1, "$a[1]\t$a[12]\n");
}
close ($in);

while ($count <=$#neu1){
$count++;
}
$count--;

open ($datei, ">", "38579neu.txt");
print $datei "no. entries: $count\n\n";
    foreach (@neu1){
    print $datei $_;
}
close ($datei);

$count=0;
my $file2="38943.txt";
my @b;
my @neu2;
my $in2;
my $datei2;

open ($in2, "<", $file2) or die "Datei $file1 existiert nicht\n";
while (<$in2>){
     chomp ($_);
     @b=split (/\t/, $_); 
     push (@neu2, "$a[1]\t$a[12]\n");
}
close ($in2);

while ($count <=$#neu2){
$count++;
}
$count--;

open ($datei2, ">", "38943neu.txt");
print $datei2 "no. entries: $count\n\n";
    foreach (@neu2){
    print $datei2 $_;
}
close ($datei2);


Ich weiß, das ganze ist recht umständlich, aber ich bin Anfänger in Sachen PERL.
Die erste Datei (38943.txt) wird so erzeugt, wie ich mir das vorstelle - kein Problem. Die zweite Datei wird ebenfalls erzeugt und enthält auch die korrekte Angabe "no. entries" (wird ja aus dem array @neu2 bezogen; die nachfolgende Liste enthält aber 3x den letzten Eintrag der ersten Datei.
Was ist denn hier passiert?

modedit Editiert von GwenDragon: Code formatiert
Last edited: 2015-10-29 17:13:39 +0100 (CET)

View full thread Zwei Dateien auslesen