Thread Letzte 10 Zeilen einer Textdatei ausgeben (73 answers)
Opened by TrioxX at 2006-12-03 12:20

topeg
 2006-12-06 10:47
#9254 #9254
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Wenn alles nicht funktionieren sollte nutze das:
Code: (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
#!/usr/bin/perl
use strict;
use warnings;

##################
# Liest rückwärts vom Dateiende
# aus einem Dateihandle
# die angebene Anzahl von Zeilen.
# übergebene Werte:
# 1. Das Filehandle
# 2. Die Anzahl der Zeilen
# Liefert ein Array mit den gelesenen Zeilen zurück.
#
# Der Identifikator für das Zeilenende
# wird aus $/ gelesen.
sub read_back($$)
##################
{
my ($fh,$lines)=@_;
my $line_cnt=0;
my $data='';

seek($fh,0,02);
my $pos=tell($fh);

while($line_cnt < $lines and $pos > 0)
{
$pos--;
seek($fh,$pos,00);
my $bite=getc($fh);
$line_cnt++ if($bite eq $/);
}
return <$fh>;
}

open(my $fh, '<', './read_backwards_test.txt') or die "$!\n";
my @lines = read_back($fh,5);
close($fh);

print 'Zeilen = '.@lines.":\n".join('',@lines)."\n";
\n\n

<!--EDIT|topeg|1165395109-->

View full thread Letzte 10 Zeilen einer Textdatei ausgeben