Have you tried using errorformat instead of grep'ing the output? C.f. http://vim.wikia.com/wiki/Errorformats. It is specially useful if you set up the make command ( http://vim.wikia.com/wiki/Make_make_more_helpful ).
Thanks for the updated output, romeovs. It sounds like you wish to have something like:
set errorformat=%E%f:%l:\ %m%C1.%l\ %Z
I can't test this, but based on the output, it seems to be what you want.