How to use locate to search for folders only
Solution 1:
Actually, locate
has what it takes if you use the --regexp
option and you don't mind it spitting out files that have the same name as the directories you seek. The "end of line" position marker gets the job done:
locate -r '/dirname$'
locate
also supports --ignore-case
if that's what you want.
Solution 2:
Why not use the find command ?
find . -name YOUR_SEARCH_NAME -type d
Solution 3:
locate
itself can't do it for you. So the UNIX way to do it is to filter the output of locate
:
locate --null something | xargs -r0 sh -c 'for i do [ -d "$i" ] && printf "%s\n" "$i"; done' sh {} +