octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: grep -P in OF template Makefile: really useful?


From: Carnë Draug
Subject: Re: grep -P in OF template Makefile: really useful?
Date: Wed, 22 Mar 2017 00:58:55 +0100

On 5 March 2017 at 08:58, Julien Bect <address@hidden> wrote:
> Le 04/03/2017 à 23:31, Mike Miller a écrit :
>>
>> On Sat, Mar 04, 2017 at 23:18:29 +0100, Julien Bect wrote:
>>>
>>> Hi everyone,
>>>
>>> The template Makefile for OF packages
>>> (https://octave.sourceforge.io/templates/Makefile) contains this line:
>>>
>>> PKG_ADD := $(shell grep -sPho '(?<=(//|\#\#) PKG_ADD: ).*' $(CC_SOURCES)
>>> $(M_SOURCES))
>>>
>>> It turns out that this can cause problems on some platforms where grep -P
>>> is
>>> not supported [1].
>>>
>>> Could anybody familiar enough with regexps tell me if the -P flag is
>>> actually useful for this particular regexp?
>>>
>>> If it is, could we find a way to rewrite the regexp that would not
>>> require
>>> PCRE?
>>
>> I guess you're using the lookbehind syntax to just avoid matching that
>> part of the line when using the -o option?
>
>
> I have no idea why it is written like that.  I didn't write it.
>
>> That looks like overkill to
>> me. The -h and -o options are also not specified by the POSIX definition
>> of grep.
>>
>> IMHO this is a much safer and more portable alternative:
>>
>>    sed -n 's/^\(##\|\/\/\) PKG_ADD: \(.*\)/\2/p' ...
>
> I will try that, thanks.
>

I wrote the original use of "grep -sPho".  It was do what Mike said.
I am guilty of abusing grep, and the use of sed seems much better.

Carnë



reply via email to

[Prev in Thread] Current Thread [Next in Thread]