Substitua o texto por sed
sed -i 's/old-text/new-text/g' input.txt
Clear Caterpillar
sed -i 's/old-text/new-text/g' input.txt
sed -i 's/foo/bar/g' hello.txt
Just concatenate var '"$var"' to replace values string in sed command:
$ sed -i 's/string_to_replace/'"$var"'/g' file_to_replace.txt
#on my mac
sed -i -e 's/old-text/new-text/g' text.txt
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'