Issue
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
, such that the contents of the file are changed to the following?:
WORD1 foo WORD3
I tried the following, but obviously I'm missing something because that does not produce the desired results:
sed -i '' 's/WORD1.*WORD3/foo/g' file.txt
Solution
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.
Answered By - vyegorov Answer Checked By - Timothy Miller (WPSolving Admin)