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

