Thread Verzeichnis nach Zeitstempel sortieren, dann auslesen (3 answers)
Opened by laplace at 2012-05-02 20:18

topeg
 2012-05-02 20:35
#157985 #157985
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Man kann nicht im Dateisystem Sortieren. Auch wenn es im weiteren Sinn eine Datenbank ist. Die Reihenfolge von Dateien in einem Ordner ist nicht festgelegt.
Du musst alle DateiNamen einlesen und diese dann sortieren (ungetestet):
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
my $dir='/irgendwo/im/dateisystem';
opendir(my $dh, $dir) or die("Error open $dir $!\n");
my @files=grep{-f "$dir/$_"}readdir($dh);
closedir($dh);
# Schwarzsche Transformation
# name -> [mdate,name] -> sort() -> name
@files=map{$_->[1]}sort{$a->[0] <=> $b->[0]}map{[-M "$dir/$_",$_]}@files;
for my $file (@files)
{
  # mach was mit den sortierten Namen.
}

Auch bei sehr vielen DateiNamen sollte das kein Problem darstellen.
Last edited: 2012-05-02 20:36:36 +0200 (CEST)

View full thread Verzeichnis nach Zeitstempel sortieren, dann auslesen