#!/usr/local/bin/perl
#
# [check-dir-for-burning-cds.pl] 07.04.1998 René Scholz <Voland@Jena.Thur.de>
#
# Use: checkt ein Verzeichnis (Unix) daraufhin, ob es Kollisionen bei den
# Dateinamen gibt, die beim CD-Brennen einen Fehler verursachen bei der
# Dateinamensersetzung (ISO usw.)
($NAME=$0) =~ s|.*/||; # get basename from $0;
$USAGE="Usage:\t\t$NAME [options] <Directory> \n\n"
. "options:\t-p check for files with more than 1 '.'\n"
. "\n";
$NO3=1;
$DIR=shift(@ARGV);
if($DIR=~/--?[hH]/) { print $USAGE; exit(0); }
if($DIR eq "-p") { $NO3=0; $DIR=shift(@ARGV); }
if($DIR eq "") { chomp($DIR=`pwd`); }
print "Checking Directory $DIR ...\n\n";
chdir $DIR or die "Cannot chdir to $DIR: $!\n";
open(LISTING, "find . |");
while (chomp($_=uc(<LISTING>)))
{
s/\.\/?//;
if(! exists $OTTO{"$_"}) { $OTTO{"$_"}=1; }
else
{
print "Kollision bei: $_\n";
}
if($NO3==0)
{
@_=split("/",$_);
$r=pop(@_);
@t=split(/\./, $r);
print "Mehrere Punkte: $_\n" if($#t >1);
}
}