A substituição da expansão de parâmetro não funciona com expressões regulares. extglob
pode ajudar você aqui, mas também não funciona com expressões regulares.
A sintaxe correta para a expressão em extglob
é
re='+([0-9])'
i.e. um dígito uma ou mais vezes.
Teste:
re='+([0-9])'
echo $'word5word\nword55word' | while read line ; do
new_line=${line/"word"$re"word"/"word"125"word"}
echo "$new_line"
done
Saída:
word125word
word125word