Re: find and replace

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
+ (text/plain)
Delete this message
Reply to this message
Author: Michael Havens
Date:  
To: Main PLUG discussion list
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 <> 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 <>
> Reply-To: Main discussion list <>
> Date: Tuesday, September 11, 2012 9:42 AM
> To: Main discussion list <>
> 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 <> 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 -
>> To subscribe, unsubscribe, or to change your mail settings:
>> http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss
>>
>
>
> ---------------------------------------------------
> PLUG-discuss mailing list -
> To subscribe, unsubscribe, or to change your mail settings:
> http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss
>

---------------------------------------------------
PLUG-discuss mailing list -
To subscribe, unsubscribe, or to change your mail settings:
http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss