Unlink created file by accident like «^?» which you can't delete
at the bash prompt.
Download → files/unlink pl.txt
#!/usr/bin/perl -w
use strict;
use Date::Manip;
my $DELFILE = '^?';
my $DELFILE_MTIME = '2006042412:40:09';
opendir(D, ".") or die $!;
my $time = time();
my $deleted_counter = 0;
while (my $f = readdir(D)) {
next if $f =~ /^\./;
next if -d $f;
my ($atime, $mtime, $ctime) = (stat($f))[8..10];
$mtime ||= 0;
my $age_hours = ($time - $mtime) / 3600 || 0;
my $age_days = int($age_hours / 24);
my $date = &ParseDateString("epoch $mtime");
print "- \"$f\" \t($date)\n";
if ($f eq $DELFILE) {
print "-- Deleting \"$f\"\...\n";
sleep 2;
#unlink $f;
$deleted_counter++;
rename $f, "zz_trash_$deleted_counter" or print STDERR $!;
print "-- done.\n";
}
elsif ($date eq $DELFILE_MTIME) {
print "-- Deleting \"$f\"\...\n";
sleep 2;
#unlink $f;
$deleted_counter++;
rename $f, "zz_trash_$deleted_counter" or print STDERR $!;
print "-- done.\n";
}
}
closedir(D);
print "$deleted_counter files have been deleted.\n";
See also:
Cleanup