Linux find folder inside subfolders

I am trying to find a directory named 480debugerror nested under child directories. I don't know the exact path, or even if I have the exact spelling of the directory I want to find.

Is there a Linux command to find directories with a given prefix or suffix, for example directories with a name of "debug" or "debug error", with some prefix or suffix that is unknown?

3

4 Answers

find is what you need:

$ find -type d -name '*debugerror*'

or

$ find -type d -name '480debugerror'

if you are certain about the folder name.

0
find . -type d \( -iname '*error*' -o -iname '*debug*' \) 

In bash,

shopt -s nullglob globstar
echo **/*480*/
echo **/*debug*/
echo **/*error*/

searches recursively for directories with names containing 480, debug or error.

locate -i "480debugerror"

will check a database that lists all the files indexed on your PC. I often have scenarios like this and so I do searches like:

locate -i "debug" | grep -i "log"

which finds all files that have in their path (regardless of case [that's what -i means]) "debug" and "log" (In case you don't know, the | grep means search within the results that locate produces)

The advantage to using locate over find is that locate will produce output much faster (since it's only checking a database) but if the file/folder is not indexed then it will not find anything. (to update the database you can use sudo updatedb)

2

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like