> Starting with release 10.38 PCRE2 drops default support for using \K in > lookaround patterns as described in [1]. Unfortunately, scripts/tags.sh > relies on such functionality to collect all_compiled_soures() leading to > the following error: > > $ make COMPILED_SOURCE=1 tags > GEN tags > grep: \K is not allowed in lookarounds (but see PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK) > > The usage of \K for this pattern was introduced in commit 4f491bb6ea2a > ("scripts/tags.sh: collect compiled source precisely") which speeds up > the generation of tags significantly. > > In order to fix this issue without compromising the performance we can > switch over to an equivalent sed expression. The same matching pattern > is preserved here except \K is replaced with a backreference \1. Just got a working grep without \K, seems that it is three times more efficient than sed in my test, is it necessary to update? grep -Poh '(?<=^ )\S+|(?<== )\S+[^\\](?=$)' {} \+ | -- Jialu