Close. It is a Perl program/script, but your assumptions were correct: RENAME(1) Perl Programmers Reference Guide > RENAME(1) > > NAME > rename - renames multiple files > > SYNOPSIS > rename [ -v ] [ -n ] [ -f ] perlexpr [ files ] > > DESCRIPTION > "rename" renames the filenames supplied according to the rule > specified > as the first argument. The perlexpr argument is a Perl expression > which is expected to modify the $_ string in Perl for at least some > of > the filenames specified. If a given filename is not modified by the > expression, it will not be renamed. If no filenames are given on > the > command line, filenames will be read via standard input. > > On Tue, Sep 11, 2012 at 11:04 AM, Paul Mooring <p...@opscode.com> wrote:
> I don't have the original conversation, but I would assume rename is a > script taking 2 arguments. The first a regex to replace the title and the > second the file list. This would mean rename is the script to be executed, > the regex is as I described before and the *.JPG would shell expand to any > file whose name ends in '*.JPG'. > -- > Paul Mooring > Systems Engineer and Customer Advocate > > www.opscode.com > > From: Michael Havens <bmi...@gmail.com> > Reply-To: Main discussion list <plug-discuss@lists.plug.phoenix.az.us> > Date: Tuesday, September 11, 2012 10:47 AM > > To: Main discussion list <plug-discuss@lists.plug.phoenix.az.us> > Subject: Re: find and replace > > So the full string I was given is: > > rename 's/\.JPG$/.jpg/' *.JPG > > So what does the *.JPG do? If you 's(earch)/string/(replace)string' then > what is the need for *JPG? > :-)~MIKE~(-: > > > On Tue, Sep 11, 2012 at 9:49 AM, Paul Mooring <p...@opscode.com> wrote: > >> When you do search and replace, the replace section is literal not a >> pattern match. So piece by piece: >> s/ # This means match the first section and replace with the second >> \.JPG$/ # This means a literal '.' at any point in the string followed >> by 'JPG' then the end of the line >> .jpg/ # This is the string to replace the previous regex with '.jpg' >> -- >> Paul Mooring >> Systems Engineer and Customer Advocate >> >> www.opscode.com >> >> From: Michael Havens <bmi...@gmail.com> >> Reply-To: Main discussion list <plug-discuss@lists.plug.phoenix.az.us> >> Date: Tuesday, September 11, 2012 9:42 AM >> To: Main discussion list <plug-discuss@lists.plug.phoenix.az.us> >> Subject: Re: find and replace >> >> Hate to resurrect old stuff but in >> >> rename 's/\.JPG$/.jpg/' *.JPG >> >> is this saying to s(earch)/(for the string).JPG$/(replace with).jpg/ ? >> Why does one not need the escape character (\) before the period here or >> before the final JPG? What does the *.JPG at the end signify? >> :-)~MIKE~(-: >> >> >> On Tue, Feb 21, 2012 at 7:32 AM, Sam Kreimeyer <skrei...@gmail.com>wrote: >> >>> Here's a pdf of a quick guide to regular expressions >>> >>> http://www.addedbytes.com/download/regular-expressions-cheat-sheet-v1/pdf/ >>> >>> Basically, it's a format for defining search patterns that supports >>> special meanings for certain characters. For instance: >>> >>> a - finds any string like "a" >>> a. - finds any string like "a" plus any other character except a new >>> line (matches "aa", "ab", "ac", etc) >>> a.* - finds any string like "a" plus zero or more characters except a >>> new line (matches "aa", "abcdefghijk") >>> Other special characters can further modify this behavior. >>> >>> So here's an explanation of the earlier command. >>> >>> 's/\.JPG$/.jpg/' *.JPG >>> >>> Basic search and replace format s/[string we search for]/[string to >>> replace matches with]/ >>> >>> "\.JPG$" - Because "." is special, we escape it with "\" to keep the >>> regex from interpreting it, so the "." will be treated literally. "JPG" is >>> what we're looking for. Placing a "$" at the end of the string tells the >>> regex to match the string only at the end of the strings you're searching. >>> This means that you will match "example.JPG" but not "JPG.example". >>> >>> ".jpg" - This is our replacement string. This is what goes in the place >>> of every match we find. >>> >>> "*.JPG" - while this isn't part of the regex, "*" is a wildcard (can be >>> substituted for any number of characters). >>> >>> Hope that helps! >>> >>> --------------------------------------------------- >>> PLUG-discuss mailing list - PLUG-discuss@lists.plug.phoenix.az.us >>> To subscribe, unsubscribe, or to change your mail settings: >>> http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss >>> >> >> >> --------------------------------------------------- >> PLUG-discuss mailing list - PLUG-discuss@lists.plug.phoenix.az.us >> To subscribe, unsubscribe, or to change your mail settings: >> http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss >> > > > --------------------------------------------------- > PLUG-discuss mailing list - PLUG-discuss@lists.plug.phoenix.az.us > To subscribe, unsubscribe, or to change your mail settings: > http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss > -- Dazed_75 a.k.a. Larry Please protect my address like I protect yours. When sending messages to multiple recipients, always use the BCC: (Blind carbon copy) and not To: or CC:. Remove all addresses from the message body before sending a Forwarded message. This can prevent spy programs capturing addresses from the recipient list and message body.
--------------------------------------------------- PLUG-discuss mailing list - PLUG-discuss@lists.plug.phoenix.az.us To subscribe, unsubscribe, or to change your mail settings: http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss