I would like to find all files that end with .c
, .R
, or .Rd
. I tried
find . -iname \"*.[cR]\" -print
<
A suitable use of -regex
would be:
find -regex '.*\.\(R\|Rd\|c\)'
If you want to use regular expressions you need to keep in mind that these apply to the whole path, not only to the filename:
-regex pattern
File name matches regular expression pattern. This is a match
on the whole path, not a search. For example, to match a file
named `./fubar3', you can use the regular expression `.*bar.' or
`.*b.*3', but not `f.*r3'. The regular expressions understood
by find are by default Emacs Regular Expressions, but this can
be changed with the -regextype option.
I agree with sampson-chen's answer, that regexes are probably not the best choice here.