From: Craig W. <cra...@az...> - 2005-08-19 18:10:09
|
On Fri, 2005-08-19 at 13:03 -0500, Chris St. Pierre wrote: > Here's a Perl script I wrote to change all of the colons in our > filenames to dashes. You should be able to modify it to change > percent signs to something. I've marked the line you'd want to change. > > #!/usr/bin/perl -w > > $usage = "Usage: kill-colons.pl <directory>\n"; > > die $usage if (@ARGV != 1); > $dir = $ARGV[0]; > > if (-d $dir && -r $dir) { > mung_dir($dir); > } else { # $dir either not a directory or not readable > warn "Could not chdir to $dir\n"; > die $usage; > } > > sub mung_dir { > my ($dir) = @_; > my ($file); > local *DIR; > > print "operating on $dir\n" if $debug; > > if (opendir(DIR, $dir)) { > while (defined($file = readdir(DIR))) { > next if $file =~ /^\.\.?$/; > print "checking $dir/$file\n" if $debug; > if (-d "$dir/$file") { # directory > print "recursing into $dir/$file\n" if $debug; > mung_dir("$dir/$file"); > print "return from recursion into $dir/$file\n" if $debug; > } elsif (-r "$dir/$file") { # readable > if ($file =~ /:/) { > $newfile = $file; > $newfile =~ s/:/\-/g; #Change this line! > if ($file ne $newfile) { > rename("$dir/$file", "$dir/$newfile"); > } > } > } else { # plain file, not readable > warn "could not read $dir/$file, skipping\n"; > } > } > closedir(DIR); > } else { # $dir not readable > warn "could not read $dir, skipping\n"; > } > } > ---- looks like I'd also have the change the line 3 lines above the line you marked as well (the 'if ($file =~ /:/) {' part). Thanks, I've proposed making the changes - I haven't heard back yet Craig |