[NTLUG:Discuss] removing text: fighting tr and regex
Richard Geoffrion
ntlug at rain4us.net
Thu Jul 6 11:31:24 CDT 2006
Victor Brilon wrote:
> On Jul 6, 2006, at 3:03 AM, Richard Geoffrion wrote:
>
>
>> echo "jdoe at example.com (John Doe)" | sed --expression s/\(.*?\)//g
>>
>
> You're almost there:
> echo "jdoe at example.com (John Doe)" | sed -e s/\(.*\)//g
>
> To badly paraphrase "The Princess Bride": You keep using the ?
> qualifier, I don't think it does what you think it does :)
>
>
Actually... I think I DO understand what the "?" does.. it prevents the
following from happening....
$ echo "jdoe at example.com (John Doe), jane at example.com (Jane Doe)" | sed
s/\(.*\)//g
jdoe at example.com
Without the ?, the expression is GREEDY and takes more than I want.....
but obviously the expression WITH the "?" still doesn't work at the bash
prompt. :(
The PERL statement DOES work with the multiple parenths "( )" though....
I just wish I understood why it doesn't work in bash/sed/tr.
--
Richard
More information about the Discuss
mailing list