This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: Cygwin's vanilla sed : capabilities and limitations
- From: Brian Dessent <brian at dessent dot net>
- To: cygwin at cygwin dot com
- Date: Wed, 16 Jul 2003 07:00:48 -0700
- Subject: Re: Cygwin's vanilla sed : capabilities and limitations
- Organization: My own little world...
- References: <000701c34b9a$1c7e6c80$6fc82486@medschool.dundee.ac.uk>
fergus@bonhard.uklinux.net wrote:
> Q1. Querying info sed reveals the expression matcher to be "greedy",
> matching the longest possible string. Is there a way to make it match the
> shortest possible, so that echo aaabbbccc | sed 's/^.*b//' (altered but
> similar) grabs aaab not aaabbb?
If you have perl available (or just a tool that uses perl-compatible
regexps, i.e. grep -P) you can add the '?' character after any qualifier
to get the non-greedy version, i.e. '*?' is the non-greedy '*', '??' is
the non-greedy '?', etc. But this is a feature of pcre, which I don't
believe applies to sed in any shape or form. However, most sed scripts
are pretty easy to do in perl with little modification, so if you
require this function that's what I'd do.
Brian
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/