When running the command

sed -e "s/a/b/" /tmp/file >/tmp/file

While /tmp/file contains data, why is /tmp/file empty afterwards?

A. The file order is incorrect. The destination file must be mentioned before the command to ensure redirection.
B. The command sed did not match anything in that file therefore the output is empty.
C. When the shell establishes the redirection it overwrites the target file before the redirected command starts and opens it for reading.
D. Redirection for shell commands do not work using the > character. It only works using the | character instead.