A simple python utility that indexes directory and file names in a sqlite database to allow for fast searching.
Definitely check out locate before considering this tool.
pip install search-fs
create-search-fs --help
search-fs --help
create-search-fs dir1/ dir2/
Search anywhere for JPG files
search-fs --name '*.jpg'
Search just one directory tree for JPG files
search-fs --name '*.jpg' dir1/
Search just one directory and not any of the sub directories for JPG files
search-fs --name '*.jpg' dir1/ --strict-dir
Search for directories
search-fs --name 'Directory*' --type d
Search for files by size
search-fs --size '500M' #Files larger than 500MB
search-fs --size='-10M' #Files smaller than 10MB, Note: make sure you use use '--size=' for less than
Search by regular expression
search-fs --regex '\w+\d\d?\.jpg'
Format the output
search-fs --name '*.jpg' --format=size,name
You can setup a cronjob to run create-search-fs
so that the index is up to date.
Create dirs.txt
which contains the directories to index
#Lines starting with # are ignored
/path/dir1
/other/dir2
Add line with crontab -e
to update the index every hour
0 * * * * /usr/local/bin/create-search-fs --dirs /path/to/dirs.txt