Just use one of following commands for replacing a number of:
sed "s/[0-9]//" f.txt #One single digit as 1
sed "s/[0-9]+//" f.txt #Further digits as 837, specifying match repetition "+"
sed "s/[0-9+.[0-9]+]//" file.txt #Float type with decimals
Just concatenate var '"$var"' to replace values string in sed command:
$ sed -i 's/string_to_replace/'"$var"'/g' file_to_replace.txt
Just use one of following commands for replacing a number of:
sed "s/[0-9]//" f.txt #One single digit as 1
sed "s/[0-9]+//" f.txt #Further digits as 837, specifying match repetition "+"
sed "s/[0-9]+.[0-9]+]//" file.txt #Float type with decimals
sed -i "s/$var1/ZZ/g" "$file"
For using match in sed replacement, just border it with '(' and ')':
echo Before123 | sed 's/Before([0-9]*)/1After/g'
123After # number is matched withtin '( )' and replaced in '1'
Example with 2 match replacements
echo a_b | sed 's/(^.*)_(.*$)/first is 1 and 2 is after/g'
Use double quotes to make the shell expand variables while preserving whitespace:
sed -i "s/$var1/ZZ/g" "$file"