On Mon, 6 Feb 2012 16:46:58 +0000, Ken MacKenzie <[email protected]> wrote:
>Yeah, that worked but in reality, the from string will be supplied by the >user and the to string will be computer generated so there's no predicting >what they typed. There's no predicting what they typed? What would a user type that would end up as your awk 'sub(/CD.*QR/,"junkt")' fxdata ? You haven't stated what the user types. I would think that a script would be able to figure out which letter goes after the ^ character in awk 'sub(/CD[^Q]*QR/,"junkt")' and would be happy to try to demonstrate that, but I can't say for sure unless you provide more information about the user input. Bill > >Ken MacKenzie >Pramerica Systems Ireland Limited is a private company limited by shares >incorporated and registered in the Republic of Ireland with registered >number 319900 and registered office at 6th Floor, South Bank House, Barrow >Street, Dublin 4, Ireland. > > > >From: >Bill Godfrey <[email protected]> >To: >[email protected] >Date: >06/02/2012 16:27 >Subject: >Re: Regular Expressions (OMVS) >Sent by: >IBM Mainframe Discussion List <[email protected]> > > > >On Mon, 6 Feb 2012 08:44:01 -0600, Ken MacKenzie ><[email protected]> wrote: > >>Hi All, >> >>I'm not sure if this is the appropriate forum, please point me to the >correct one if it's not. >> >>I'm playing around with regular expressions and I want to achieve the >following. I spoke to a Unix geek but he didn't really understand what I >was asking. >> >>Given the following sample data, I want discover only the first >occurrence of any string which matches my regexp. >>QQQQABCDEFGNOPQRXXXPPPPABCDEFGNOPQRYYYOOOOABCDEFGNOPQRZZZ >>QQQQABCDEFGNOPQRXXXPPPPABCDEFGNOPQRYYYOOOOABCDEFGNOPQRZZZ >>QQQQABCDEFGNOPQRXXXPPPPABCDEFGNOPQRYYYOOOOABCDEFGNOPQRZZZ >>QQQQABCDEFGNOPQRXXXPPPPABCDEFGNOPQRYYYOOOOABCDEFGNOPQRZZZ >>QQQQABCDEFGNOPQRXXXPPPPABCDEFGNOPQRYYYOOOOABCDEFGNOPQRZZZ >>QQQQABCDEFGNOPQRXXXPPPPABCDEFGNOPQRYYYOOOOABCDEFGNOPQRZZZ >> >>I tried: awk 'sub(/CD.*QR/,"junkt")' fxdata in an attempt to change >QQQQABCDEFGNOPQRXXX to QQQQABjunktXXX but instead, it takes the final >occurrence of QR, and returns QQQQABjunktZZZ. Notice the ZZZ on the end >instead of XXX. >> >>This is being driven from a REXX exec in ISPF, if any of the above is not >clear, I will try to explain further. >> > >try this: > >awk 'sub(/CD[^Q]*QR/,"junkt")' > >or this: > >sed -e 's/CD[^Q]*QR/junkt/' > >Bill > >---------------------------------------------------------------------- >For IBM-MAIN subscribe / signoff / archive access instructions, >send email to [email protected] with the message: INFO IBM-MAIN > > > >---------------------------------------------------------------------- >For IBM-MAIN subscribe / signoff / archive access instructions, >send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN

