Thread zwei Arrays vergleichen und doppelten Inhalt löschen
(31 answers)
Opened by Matze2.pl at 2014-11-13 10:27
Hier mal ein ungetesteter Ansatz, wie Du veraltete Dubletten eliminieren kannst. Keine Ahnung, ob das Deinen Bedarf trifft, aber Du siehst das Konzept:
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 use warnings; use strict; use File::Find; use Cwd 'getcwd'; my $cwd = getcwd(); my $loesch_dir = "/var/lib/testverzeichnis/k_loesch"; my $transport_dir = "$loesch_dir/k_transport"; # Kandidaten fürs Löschen zusammenstellen my @loesch_kandidaten; sub files_only { push( @loesch_kandidaten, $_ ) if -f $File::Find::name; } find( \&files_only, $loesch_dir ) ; # @loesch_kandidaten enthält jetzt alle Namen (ohne Pfad!) von allen # "normalen" Dateien, die in $loesch_dir und seinen Unterverzeichnissen stehen. # Ins Transport-Verzeichnis wechseln chdir( $transport_dir ); for my $file ( @loesch_kandidaten ) { if ( -f $file and time - (stat($file))[9] > 14 * 86400 ) { print "entferne $file ...\n"; # unlink( $file ); # <--- entkommentieren } } chdir( $cwd ); Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"
|