Which of the following sed commands will replace all instances of the string foo with the string foobar changing the file file1.txt in place?
A.
sed ‘s/foo/foobar/g’ file1.txt
B.
sed ‘s/foo/foobar/g’ file1.txt > file1.txt
C.
sed ‘s/foo/foobar/g’ file1.txt | file1.txt
D.
sed -i ‘s/foo/foobar/g’ file1.txt
E.
sed -i ‘s/foo/foobar/g’ file1.txt > file1.txt
Explanation:
When using the option -i, –in-place sed creates no output, but changes the source file itself.
You can not use redirection (B) because file1.txt would be empty before starting sed.