Thread Bestimmte Zeilen und Spalten aus txt. Datei in eine andere txt.-Datei schreiben (14 answers)
Opened by MrDizzle at 2009-02-25 16:35

leo11
 2009-02-25 21:32
#119155 #119155
User since
2008-08-14
250 Artikel
BenutzerIn
[default_avatar]
hlubenow+2009-02-25 19:01:42--
open(FH, "<$infile");
my @a = <FH>;
close(FH);


Das bedeutet die gesamte Datei wird in einem Array gespeichert, was mehr Speicher benötigt. Ich würde das eher mit Tie::File lösen. Ich hab damit vor kurzem gute Erfahrungen gemacht. In der Doku steht auch, dass dieses Modul für sehr große Dateien geeignet ist. Hier mein Vorschlag:

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
#!/usr/bin/perl 
use strict;
use warnings;
use Tie::File;
use Data::Dumper;

my $datei = q(file.txt);

use Tie::File;

tie my @array, 'Tie::File', $datei or die $!; # @array mit Tie::File an $datei binden

# jetzt etwas mit @array anstellen 
my $anzahl_zeilen = @array;
my $anzahl_zu_kop_zeilen = q(3);
my @spalten;

for ( my $i = ($anzahl_zeilen - $anzahl_zu_kop_zeilen); $i < $anzahl_zeilen; $i++){ 
    @spalten = split("\t", $array[$i]);
    print join(",",$spalten[2] .. $spalten[5]), "\n";
}

#print Dumper \@spalten;
untie @array;  #und wenn's erledigt ist untie

View full thread Bestimmte Zeilen und Spalten aus txt. Datei in eine andere txt.-Datei schreiben