[X-Unix] Grep and backreferences with BBEdit

Nick Scalise nickscalise at mac.com
Tue Oct 12 12:17:50 PDT 2004


 
On Tuesday, October 12, 2004, at 01:48PM, James Avgeris <jima at itempo.com> wrote:

>On Oct 12, 2004, at 11:12 AM, Nick Scalise wrote:
>
>> Hello,
>>
>> I do not have a strictly unix question. I am very weak at grep and 
>> could use some rudimentary help.
>>
>> In BBEdit 6.5, I am wanting to do a search and replace for all 
>> occurances of <a href="name.jpg">, where 'name' is the variable. I 
>> want to add a images/ to the beginning of the 'name' variable.
>>
>> So, I think I have the first part figured out, I find <a 
>> href="[a-zA-Z0-9+]+.jpg"> using grep in BBEdit's find dialog, this 
>> seems to produce the desired result. Please let me know if there is a 
>> better way.
>>
>> Where I am lost is the backreference part. What is the pattern I would 
>> add in the replace dialog that would add 'images/'  so that the 
>> original <a href='name.jpg'> would end up <a href="images/name.jpg">
>>
>> TIA
>> --
>> Nick Scalise
>> nickscalise at mac.com
>
>Nick, here's a GREP pattern you could use in BBEdit:
>
>(<a href=")([^"]+">)
>
>Then in the replace dialog it would be:
>
>\1images/\2
>
>the \1 represents the match between the first parentheses, and the \2 
>is the second. The [^"]+ matches anything that is not a double quote, 
>which MAY not have made a difference in this case but is better 
>(assuming you can rely on the quotes being there) because GREP is 
>greedy and will match as it can so you need to be restrictive.

That worked after adding a .jpg in there (<a href=")([^"]+.jpg">) . Otherwise it found .htm's that did not need fixin'.

Thanks again.
--
Nick Scalise
nickscalise at mac.com


More information about the X-Unix mailing list