Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <002401c25688$d1c69a70$0100a8c0@wdg.uk.ibm.com> From: "Max Bowsher" To: References: Subject: Re: Calling all sed wizards! Need a little help with possible fix: Subtle permissions bug in interaction between Makefiles & libtool (Cygwin-specific) Date: Sat, 7 Sep 2002 17:08:14 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 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. -- 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/