"find: paths must precede expression:" How do I specify a recursive search that also finds files in the current directory? "find: paths must precede expression:" How do I specify a recursive search that also finds files in the current directory? bash bash

"find: paths must precede expression:" How do I specify a recursive search that also finds files in the current directory?


Try putting it in quotes -- you're running into the shell's wildcard expansion, so what you're acually passing to find will look like:

find . -name bobtest.c cattest.c snowtest.c

...causing the syntax error. So try this instead:

find . -name '*test.c'

Note the single quotes around your file expression -- these will stop the shell (bash) expanding your wildcards.


What's happening is that the shell is expanding "*test.c" into a list of files. Try escaping the asterisk as:

find . -name \*test.c


Try putting it in quotes:

find . -name '*test.c'