A sintaxe que você está procurando é sed -e 's/\(scale=\)"[0-9]\+\(\.[0-9]\+\)\?"/"'"$replacement_number"'"/' . A regex de pesquisa em detalhes:
\(scale=\) the literal string scale=, remembered as
" opening double quote
[0-9]\+ one or more digits
\(\.[0-9]\+\)\? optionally, a period followed by one or more digits
" closing double quote