Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How can I use find to find all files that have a .xls or .csv extension? I have seen a -regex option but I don't know how to use it.

share|improve this question

migrated from stackoverflow.com Jan 2 '12 at 13:06

This question came from our site for professional and enthusiast programmers.

up vote 89 down vote accepted

Why not simply use this:

find -name "*.xls" -o -name "*.csv"

You don't need regex for this.

If you absolutely want to use regex simply use

find -regex ".*\.\(xls\|csv\)"
share|improve this answer
Better answer than mine. +1. – Paul Tomblin Dec 9 '08 at 16:04
Why is a backslash needed before the parenthesis? I know it doesn't work without it, but it seems like it should. – MCS Dec 9 '08 at 16:05
because they are emacs regular expressions by default. use -regextype to change that. – hop Dec 9 '08 at 16:15
Just for the record: I can never remeber which tools want "\(" for grouping and which want "(". I always have to try it to know it. – Joachim Sauer Dec 9 '08 at 16:49
regex example does not work – hostmaster Jul 8 '15 at 15:10
find . \( -name  \*.xls -o -name \*.csv \) -print
share|improve this answer
Didn't know about the -o option. Thanks! – MCS Dec 9 '08 at 16:02
Does it need parentheses? find . '(' -name *.xls -o -name *.csv ')'-print – Adrian Pronk Dec 9 '08 at 21:48
@Adrian - no, it doesn't. I'm not sure if it would need parens on a non-GNU find where "-print" wasn't already the default action. – Paul Tomblin Dec 10 '08 at 13:09
Well, GNU find ( default on ubuntu 11.04) works correctly with both parens and -print OR without (parens and -print). But find . -name \*.xls -o -name \*.csv -print outputs only files matching .csv, – bbaja42 Jan 2 '12 at 14:20
You're right, I need the parens. – Paul Tomblin Jan 2 '12 at 15:02

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.