I have a file with the following contents:
WORD1 WORD2 WORD3
How can I use sed to replace the string between WORD1 and WORD3 with foo
foo
sed -i 's/WORD1.*WORD3/WORD1 foo WORD3/g' file.txt
or
sed -i 's/(WORD1).*(WORD3)/\1 foo \2/g' file.txt
You might need to escape round brackets, depends on your sed variant.