Editing a particular position in a file stored in SD card
The problem is that you are opening the file with FILE_WRITE.  That is a combined macro that is made up of:

#define FILE_WRITE (O_READ | O_WRITE | O_CREAT | O_APPEND)


The key one there is O_APPEND.  In the source code (SdFile.cpp) t says:


  O_APPEND - If set, the file offset shall be set to the end of the file prior to each write.


So the seek does nothing if O_APPEND is set, since it is overridden.

So instead you need to open the file without O_APPEND.  In fact you don't need to close and open the file at all, since if opened correctly you can hop around at will reading and writing.  The flag O_RDWR is a combination of O_READ and O_WRITE.

For example:

void update_file() {
  file = SD.open("misc.txt", O_RDWR);
  char character;
  while( (character = file.read()) != '\n') {}
  file.print(" Love, love, love.");
  file.close();
} 


The O_CREAT flag that is part of FILE_WRITE will create a new file if you try and open one that doesn't exist. By omitting that SD.open will fail if the file you are trying to modify doesn't exist.