Am 10.11.2016 um 22:09 schrieb Thomas Liske:
> Hi,
>
> this is a negative lookbehind assertion - quoting from perlre(1):
>
>            "(?<!pattern)"
>                A zero-width negative lookbehind assertion.  For example
>                "/(?<!bar)foo/" matches any occurrence of "foo" that does not
>                follow "bar".  Works only for fixed-width lookbehind.
>
> So it should match 'error' (if it does not follow 'no ') and it should
> match 'warning', 'fail' and 'failed' (if it does not follow 'insserv: ').

Then the question is, why it does not work on Jessies grep?
>
>
> HTH,
> Thomas
>
>
> Patrick Matthäi <pmatth...@debian.org> writes:
>
>> Am 30.10.2016 um 12:31 schrieb Stephan Sürken:
>>> Hi Evgeni, Patrick,
>>>
>>> fwiw (probably this is already worked on), i have fixed up my system by
>>>
>>> * reverting 01-grep-syntax-error.diff
>>>
>>> This actually totally breaks things, as this now uses "P" as pattern,
>>> practically matching always:
>>>
>>> --
>>> grep -aiqseP "$AD_HIST_ERRPATTERN" "$AD_HIST_PATH/typescript"
>>> --
>>>
>>> I would actually like to see call grep (in the cmd script) called like so
>>>
>>> --
>>> grep -a -q -i -s -P -e "$AD_HIST_ERRPATTERN" "$AD_HIST_PATH/typescript"
>>> --
>>>
>>> (however, '-aiqsPe' should work as well).
>>>
>>> * Use custom err-pattern
>>>
>>> I don't really know what's wrong with the default perl regex (should
>>> the '&lt;' stuff be actually be in the final string?), I am just using
>>> a simpler one now that works. On a shell you can see the error via
>>>
>>> --
>>> grep -P -e '((?&lt;!no )error|(?&lt;!insserv: )warning|fail(ed)?)'
>>> --
>>>
>>> (That's the same string you also see in the "meta" debug file, using
>>> all defaults for err-pattern).
>>>
>>> So for me it seems:
>>>
>>> * With the default pattern in place (and pre-patch), the grep would
>>> always fail, meaning it would never detect an actual error in
>>> typescript.
>>> * With the broken patch, it always wrongly finds errors (while showing
>>> an empty log via less).
>>>
>>> So please remove 01-grep-syntax-error.diff, and somehow fix the default
>>> pattern ;).
>>>
>>> Hth!
>>>
>>> S
>> I already noticed, that my patch always matches and removed it in my
>> vcs. On my cmd it worked..
>> Anyway with "grep -a -q -i -s -P -e" and "grep -P -e '((?&lt;!no
>> )error|(?&lt;!insserv: )warning|fail(ed)?)'" I get again a syntax error
>> on jessie. Maybe Thomas could say us, what he wanted to match and how we
>> should fix it now.
>>
>> -- 
>> /*
>> Mit freundlichem Gruß / With kind regards,
>>  Patrick Matthäi
>>  GNU/Linux Debian Developer
>>
>>   Blog: http://www.linux-dev.org/
>> E-Mail: pmatth...@debian.org
>>         patr...@linux-dev.org
>> */
>>

-- 
/*
Mit freundlichem Gruß / With kind regards,
 Patrick Matthäi
 GNU/Linux Debian Developer

  Blog: http://www.linux-dev.org/
E-Mail: pmatth...@debian.org
        patr...@linux-dev.org
*/

Reply via email to