Besides the options mentioned in phils answer, you can use shell-command-on-region for this. Select the region you'd like to 'filter' first. When prefixed with a universal argument C-u, the sent text gets replaced (you can read its docstring for more info).
I don't know your exact usecase, but generally swiper or helm-swoop provide similar and generally more ...
I want the text not matching the pattern to be gone
M-x keep-lines will delete lines not matching the pattern (i.e. only keep the lines which match). flush-lines does the opposite, deleting lines which do match the pattern.
M-x occur will open a separate buffer showing only the matching lines (which you can use like a compilation error buffer to navigate ...
I don't see a feature like that in helm-grep.
But you should achieve the desired result with a function like this one
(defun my/jump-next-grep-result ()