Thread Verzeichnis rekursiv löschen
(26 answers)
Opened by hcx at 2011-07-06 19:04
Schau dir mal die doku zu File::Find::Rule an.
entweder direkt auf cpan oder lokal mit "perldoc File::Find::Rule". 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 #!/usr/bin/perl use warnings; use strict; use File::Find::Rule; print" Welches Verzeichnis soll ich löschen? \n"; my $ordner = <STDIN>; chomp $ordner; # finde alle Dateien im Ordner "$ordner" my @files = File::Find::Rule->file->in( $ordner ); # verwerfe alle Dateien in "@files" die Softlinks (ln -s ...) sind my @no_links = grep{ !-l $_ }@files; # entferne alle Dateien in "@no_links" unlink @no_links; # finde alle Ordner im Ordner "$ordner" my @dirs = File::Find::Rule->directory->in( $ordner ); # entferne nacheinander alle Ordner, die in "@dirs" stehen. rmdir $_ for @dirs; |