I use 'occur' to search for regexp in current buffer and edit the results in *occur* buffer .

Now my requirement is to search all the files in a directory(including sub-directories ) and edit the results.

ie. Edit the result of ' grep -r foo * ' 

Is there anything similar(like *occur* buffer) that allows to edit the searched results in my case.