In Emacs how can I search a directory and all subdirectories for a filename?
In dired, you can list all the subdirectories of the visited directory by moving to the first line and pressing
C-u l and adding the
R switch. You can then search the file name in the buffer, or mark files based on a regexp with
On Linux, or Windows with Cygwin utilities, or other unix-like system with GNU find, a quick-and-dirty hack is
M-x grep-find, and edit the command line to contain just the
find part with a suitable format:
find -type f -name '*.foo' -printf '%p:0:\n'
On any system that has unix tools available, you can run the
find command with
M-! find. In the output buffer, you can use
M-x ffap to visit the chosen file. You can also set up dired-x so that
C-u C-x C-f can be used instead of
You can use
M-x find-name-dired. It will ask for a directory and a wildcard pattern, so you can enter something like
*thing* and have all files with "thing" in the name listed in a dired buffer.
More here: http://emacswiki.org/emacs/RecursiveGrep (along with a snippet that lets you skip writing out the stars too).