O mais próximo que eu posso pensar é BASH_REMATCH
, já que o bash armazena os resultados de um texto regex na variável:
$ for fname in doc-*.txt; do
[[ $fname =~ doc-(.*).txt ]];
echo "input: ${fname} output: output-${BASH_REMATCH[1]}.results";
done
input: doc-jane.txt output: output-jane.results
input: doc-mike.txt output: output-mike.results
input: doc-susan.txt output: output-susan.results
Como (.*)
é o primeiro grupo na regex, está em BASH_REMATCH[1]
. Eu acho que esse é o comportamento que você quer, mas com globs, eu não acho que o bash o disponibilize de qualquer forma.