a little help with removing spaces from filenames

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Michael Wittman
Date:  
Subject: a little help with removing spaces from filenames
--PNTmBPCT7hxwcZjr
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Wed, Aug 07, 2002 at 10:49:32PM -0700, technomage wrote:
> ok,
> I've read and I've read, but can't seem to come up with a solution that isn't
> overly complex.
> I want t take spaces in filenames and rename them with underscores "_" and
> would like to do so a directory at a time if need be.
>
> any help would be appreciated


Save the attached perl script, make it executable, and issue the command
    ./rename 's/ /_/g' file(s)
e.g.
    ./rename 's/ /_/g' *.mp3


The script applies the operation in the first argument to the file
names and renames them if a different name is produced. This is what
I use any time I need to rename multiple files in a consistent way.
You can use any valid perl expression for the first argument, so it's
pretty powerful. For example, you can do things like:

convert filenames to lowercase
    ./rename 'tr/A-Z/a-z/' file(s)


capitalize every word in the file names specified
    ./rename 's/\b(\w)(\w*)/uc($1).lc($2)/eg' file(s)


-Mike

--PNTmBPCT7hxwcZjr
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=rename

#!/usr/bin/perl
$op = shift;
for (@ARGV) {
    $was = $_;
    eval $op;
    die $@ if $@;
    rename($was,$_) unless $was eq $_;
}


--PNTmBPCT7hxwcZjr--