Recursively search for files and directories with a pattern, ignoring irrelevant directories.
I developed finr to quickly find files and directories in the filesystem, ignoring certain directories that usually do not contain what I'm looking for. Finr is heavily inspired by ripgrep, specifically the ignore directories part. I wanted a tool that was fast and easy to use. So it may not be what you're looking for.
Assumes that you have rust and cargo installed.
cargo install finr
git clone https://github.com/Gers2017/finr && \
cd finr && \
cargo build --release
Print help message
finr --help
Finr looks for files and starts at the current directory by default.
To search for a directory, use -t d
(--type directory).
The max-depth is arbitrarily set to 100.
Search for .rs files using regex (Uses the regex crate)
finr '.+\.rs$' --regex
finr searching for .md
files with a max depth of 200
finr '.+\.md$' --regex --max-depth 200
Search for files with .rs
. Starting at the current directory. (Uses ends_with)
finr .rs -e
Search for directories that contain _node_modules_
in the name.
finr node_modules -t d
Searching for files that contain main
in the name (Uses contains)
finr main
Search for files with .rs
starting at the /home/ directory while ignoring some directories.
finr .rs ~/ -e -i Files Videos Downloads .config .local
Search for files that contain main.c
starting at the current directory. Ignoring Music Videos Downloads
and Including .config .local .ignore
.
finr main.c --ignore Music Videos Downloads --include .config .local .ignore
I consider both find
and fd
to be a great tools with more features than finr
.
Since finr is relatively new, it doesn't have as many features as either find or fd-find (so please bear this in mind).