Thank you for inputs, how about this?
uniq -u movies.csv > temp.csv
temp.csv > movie.csv
rm temp.csv
uniq -u movies.csv > temp.csv
temp.csv > movie.csv
rm temp.csv
The rename is atomic; anyone opening "filename" will get either the old version, or the new version. (Although it breaks one of my other favorite idioms for monitoring log files, "tail -f filename", because the old inode will never be updated.)
You should look into the '-F' option of tail; it follows the filename, and not the inode.
uniq -u movies.csv > /tmp/temp.csv && mv /temp/temp.csv movies.csv
$ temp.csv > movie.csv
temp.csv: command not found