Simplified version of find using the PCRE library.
ff has been inspired by fd.
The problem with fd is that it is written in Rust and not everyone is willing to download nearly 1GB of compiler for something that simple. ff on the other hand is written in C99 and can be compiled with the C compiler that already comes with your POSIX system.
Some source files used by ff are actually quite generic and don't
have any dependencies outside the C, POSIX, and GNU standard libraries
(except the shared header macros.h
). These are all stored in the
folder generic and can be reused easily.
- Convenient syntax:
ff PATTERN
instead offind -iname '*PATTERN*'
- Ignores hidden directories and files, by default
- Regular expressions and shell glob patterns
- Parallel directory traversal
- No heavy build system
- Respect
.gitignore
- Command execution
- Exclude files and directories
Building from source is very easy. The only build dependencies are GCC, make,
and optionally PCRE. If PCRE is installed, you can build the default pcre
target.
$ make
If you do not have PCRE and don't want to install it, you can fall back to
POSIX regex by builing the posix
target instead.
$ make posix