4 ms·
For functions: grep -P '^func funcName\(' For methods: grep -P '^func [^)]+\) methodName\(' Hope that helps.
by alienchow 2y ago
For functions: grep -P '^func funcName\('
For methods: grep -P '^func [^)]+\) methodName\('
Hope that helps.
- kragen 2y agothanks, that definitely looks better! pcre is kind of working against you here tho; i assume you're invoking it out of habit
- alienchow 2y agoI am actually unaware of downsides of PCRE. Could you explain? I hardly ever use literal grep nowadays.
- kragen 2y agooh, i mean that instead of grep -P '^func [^)]+\) methodName\(' you could say grep 'func [^)]*) methodName(' which is a bit less typing however, i have to admit that i sort of ensnared myself in my own noose here by being too clever! i forgot that grep's regexp dialect only supports + if you \ it, and it took me six tries to figure out why i wasn't getting any grep hits. there's a lot to be said for the predictability and consistency of pcre!
- kiitos 2y agoNo need for any func, you can just grep '\) methodName\('
- kragen 2y agogrep: Unmatched ) or \) but your main point might be right; the few non-method matches to (pcre) '\)\s*\w+\s*\(' in /usr/share/go-1.19 seem to be uncommon things like this: static void __attribute__ ((constructor)) sigsetup(void) { void poison() __attribute__ ((weak)); C3 = -(R + I) // ADD(5,6) NEG(-5,-6)