On Wed, 16 Jul 2003 [EMAIL PROTECTED] wrote: > This is probably a cheat question (non-central Cygwin issue) but it is about > Cygwin's vanilla sed. > > AND it is only asked in order eventually to provide anybody interested with > the elegant-est possible script for making a portable Cygwin CD.
Someone already mentioned Perl. Another tool is "ed". Both are pretty heavyweight. If you want to do it in straight sed, examples are below: > 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? Well, the simplest (off the top of my head) would be 's/^[^b]*b//'. > Q2. Is there a way using the supplied sed without major enhancements to > change "abc x def" to "def x abc": that is, to grab two distinct portions > and swap them (using $1,$2 or \1,\2 or whatever). Sure. 's/^\(.*\) x \(.*\)$/'. > Sorry for asking: I know it's a sin: hope the end articulated above > justifies the means. > > Fergus Hope this helps, Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ [EMAIL PROTECTED] ZZZzz /,`.-'`' -. ;-;;,_ [EMAIL PROTECTED] |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D. '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "I have since come to realize that being between your mentor and his route to the bathroom is a major career booster." -- Patrick Naughton -- 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/