- Call "dired" or "find-dired" to list files in dir and all subdirs.
- Mark the files you want. You can mark by regex by typing "%m"
- Type "Q" to call dired-do-query-replace-regexp.
- Type your find regex and replace string.
- For each occurance, type "y" to replace, "n" to skip, "!" for replacing all occurances in current file. Type "Ctrl+g" to abort the whole operation.
- To do the replacement on all files without further asking, type "Y". To skip all possible replacement on the rest of the current file, type "N". (These are Emacs 23 only)
- Call "ibuffer" to list all opened files.
- Type "*u" to mark all unsaved files, type "S" to save all marked files, type "D" to close them all.
There is a much more detailed guide on the page where I got these instructions here: