Thanks to all those who responded to my original post. I posted the clarifcation below as a reply to the original thread, but I think it was lost in the shuffle.
I think I failed to make something clear. What I need is to selectively replace only certain characters when they appear in a string within brackets. I don't need to transform the string as a whole. So if I have: Don't Match the capital M unless {the M is inside brackets} then Match it I need to be able to change the M inside the brackets in such a way that the entire line is output, but with, in this case, the single change that the one M within the brackets has been changed to another character, say an X, so that the line would now read: Don't Match the capital M unless {the X is inside brackets} then Match it I need to process a very large file (c. 20MB) in this way, and there are about a dozen different single characters what would have to be systematically changed to an alternative character. Actually, what I want to do is change the M, for instance, to the Unicode character U+1E43. I've been able to apply these changes to the file as a whole, but don't know how to apply them only to certain characters that appear in text within brackets. I was assuming (wrongly?) that I would have to set up some kind of loop to run through each string within brackets to test for the M (and a number of other characters) and change it to the U+1E43 (an a number of other Unicode characters) if found. Can I do all this just using regular expressions with s/// or tr///? I hope this is more clear. Thanks again to everyone who has offered help. I'm learning a lot about regular expressions! (or at least I'm trying to!) David -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]