How to find all files of a specific type recursively in Unix-based operating systems (Linux and Mac)
Nick Scialli
September 28, 2021
The find
command line utility is a powerful tool for searching your filesystem in Linux and MacOS. A common use case is trying to find all files with a certain extension.
In the following example, we use the find
command to find all txt
files within the current directory, recursively.
find . -type f -name "*.txt"
Let’s break down how this works:
- The first argument we provide the
find
command is.
, which tellsfind
to start from the current directory. if we wanted to start in a subdirectory calledmy_directory
, our command would befind my_directory -type f -name "*.txt"
. - Next up, we have the
type
flag. As you might intuit, thef
is for files. You can also used
for directories. - Finally, we have the
name
flag. Since we’re looking for all.txt
files, we use a*
wildcard to indicate that we don’t really care what the file name is so long as it ends in.txt
.
Note that we don’t specify anything for searching recursively—this will be done automatically!
Nick Scialli is a senior UI engineer at Microsoft.