delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/09/08/11:25:18

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-Authentication-Warning: slinky.cs.nyu.edu: pechtcha owned process doing -bs
Date: Sun, 8 Sep 2002 11:25:06 -0400 (EDT)
From: Igor Pechtchanski <pechtcha AT cs DOT nyu DOT edu>
Reply-To: cygwin AT cygwin DOT com
To: Max Bowsher <maxb AT ukf DOT net>
cc: cygwin AT cygwin DOT com
Subject: Re: Calling all sed wizards! Need a little help with possible fix:
Subtle permissions bug in interaction between Makefiles & libtool
(Cygwin-specific)
In-Reply-To: <002401c25688$d1c69a70$0100a8c0@wdg.uk.ibm.com>
Message-ID: <Pine.GSO.4.44.0209081123150.18849-100000@slinky.cs.nyu.edu>
MIME-Version: 1.0

On Sat, 7 Sep 2002, Max Bowsher wrote:

> Igor Pechtchanski wrote:
> >>> On Thu, 5 Sep 2002, Max Bowsher wrote:
> >>>
> >>>> I had an idea:
> >>>> sedpat6='s,\(-m [0-7]*\)6,\17,g'
> >>>> sedpat4='s,\(-m [0-7]*\)4,\15,g'
> >>>> sed -e "$sedpat4" -e "$sedpat4" -e "$sedpat4" -e "$sedpat6" -e
> >>>> "$sedpat6" -e "$sedpat6"
> >>>>
> >>>> but can anyone show me a way without repeating each pattern 3
> >>>> times?
>
> > Okay, then...  There is a pure sed solution that doesn't use
> > repetition. It's peculiar, and involves a loop.  In this particular
> > case, you are probably better off just repeating the patterns 3
> > times.  But I'm posting it just to show that it can be done.  Call me
> > vain. :-D
> >
> > Okay, here goes:
> >
> > sed 's/$/0^A1^A2^B3^C4^E5^E6^G7^G/;:a;s/\(-m [0-7^A-^G]*\)\([0-7]\)\(.*\2\)\(.\)/\1\4\3\4/;ta;s/.\{16\}$//;y/^A^B^C^E^G/12357/'
>
> Thankyou :-) You clearly qualify as a sed wizard, 1st class!
>
> However, in analysing your solution, I learnt something new about sed -
> namely, the t command.
> So, I can use the simpler script:
>
> ':a;s/\(-m [0-7]*\)6/\17/;s/\(-m [0-7]*\)4/\15/;ta'
>
> Now, to build that into libtool...
>
> Thanks for the help!
> Max.

D'oh! *smacks head*
I've learned something new from your solution, too: don't ever
overcomplicate :-D
I can't believe I haven't tried that one first...
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha AT cs DOT nyu DOT edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor AT watson DOT ibm DOT com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

It took the computational power of three Commodore 64s to fly to the moon.
It takes a 486 to run Windows 95.  Something is wrong here. -- SC sig file


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019