Thread Verzeichnis nach Zeitstempel sortieren, dann auslesen
(3 answers)
Opened by laplace at 2012-05-02 20:18
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) |