Thanks for all the help guys, i took a bit of what was recommended and took a bit of my own and this is the result:

Code:
alias do_now {
  echo 4 -sn Begin at $asctime(HH:nn:ss)
  fopen filestream %Email
  filter -fkn %Email EmailTemp *track.php*
  filter -fkn %Email EmailTemp *mailklik*
  ...
  filter -fkn %Email EmailTemp *expreg*
  fclose filestream
  echo 4 -sn End at $asctime(HH:nn:ss)
}
alias -l EmailTemp {
  ; this gets the matching line number
  var %n = $gettok($1,1,32)
  fseek -l filestream %n
  set %LinkInEmailBegin $fread(filestream)
  fseek -l filestream $calc(%n +1)
  set %LinkInEmailMiddle $fread(filestream)
  fseek -l filestream $calc(%n +2)
  set %LinkInEmailEnd $fread(filestream)
  set %LinkInEmail %LinkInEmailBegin $+ %LinkInEmailMiddle $+ %LinkInEmailEnd
  ; here we modify the total link and write it to a file
  ...
}

Processing time is now reduced to about 4 minutes and I don't think it can be any faster than that but that is ok.

Only one thing left is that it displays this in the status window:
-
* fseek set 'filestream' to line 74917
-

I really don't need to see that. How to get rid of that?