Other possible ways to do it:
1. open your file in read mode, sort the content in memory, close the file, and reopen it in write mode;
2. I usually prefer to keep a copy of the original file, just in case something goes wrong. So I rename the original file (changing the extension to .bak, for example), and then open the renamed original in read mode and write to a new file having the original name (this is basically what the -i command line option does in Perl one-liners). The renamed original file can be deleted at a later point, once it has been verified that everything went right.