Re: Bash Help: Renaming all files in a Directory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Friday, Jul 21st 2006 at 19:27 -0400, quoth Thom Paine:

=>I'm making a digital picture frame out of an old laptop and the pic
=>viewer doesn't support filenames with spaces in them.
=>
=>Is there a quick command I can type to process all files in a
=>directory that will rename the files from "Family Pic 001.jpg" to
=>"FamilyPic001.jpg"?

You've gotten a lot of bash suggestions, ranging from the sublime to the 
absurd. Here's my fave:

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

Since it uses perl, you can do regex magic plus more. Your problem would 
be solved with

rename 's/ //g' *.jpg

but you can also play games like

rename 'tr/A-Z/a-z/' *.jpg to flip things to lowercase.

Enjoy.

-- 
Time flies like the wind. Fruit flies like a banana. Stranger things have  .0.
happened but none stranger than this. Does your driver's license say Organ ..0
Donor?Black holes are where God divided by zero. Listen to me! We are all- 000
individuals! What if this weren't a hypothetical question?
steveo at syslang.net


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux