Open awilfox opened 1 year ago
If we can do something like dirname $line
? But that depends on coreutils.
If we can do something like
dirname $line
? But that depends on coreutils.
dirname
is POSIX, but:
elizabeth@ember:~ % dirname "AC_CONFIG_AUX_DIR(utils)"
.
That won't work.
The best thing to do imo is use sed:
dirprefix="$(echo "$line" | sed -E 's#\[|\]##g;s#.*\((.*)\)#\1#')"
Example:
elizabeth@ember:~ % echo "AC_CONFIG_AUX_DIR([utils])" | sed -E 's#\[|\]##g;s#.*\((.*)\)#\1#'
utils
The reason for the two regexes is that for some reason I cannot fathom, [^\]\)]
does not work in a capturing group, so they have to be stripped first. You could do:
dirprefix="$(echo "$line" | sed -E 's#\[|\]##g)"
dirprefix="${dirprefix##*(}"
dirprefix="${dirprefix%%)*}"
Or some such, but I see little to no benefit.
or pipe through awk, which is probably way less cryptic to the reader. anyone working on a patch ?
awilfox's suggested one-line fix:
The fix is pretty simple: replace
AC_CONFIG_AUX_DIR(utils)
withAC_CONFIG_AUX_DIR([utils])
inconfigure.ac
.
has been commited to laurikari/tre if you want to use the latest.
Elizafox/tre-regex-sys#1 has led me to a curious thing:
will break gettext-tiny's
autopoint
:because it doesn't have the bracket quotes that
autopoint
is expecting:Trying to see if we can find an easy fix.