File search tool that uses SQL-like queries to find and filter files based on metadata, content, and attributes
fselect is a file search tool that uses SQL-like query syntax to find and analyze files across filesystem hierarchies. Unlike traditional find commands, it supports complex queries with SELECT, FROM, WHERE, GROUP BY, and ORDER BY clauses to search files based on metadata properties like size, modification dates, permissions, and file types.
The tool provides specialized search capabilities for multimedia files, including image dimensions and EXIF metadata for photos, MP3 tags and bitrate information for audio files, and archive content searching. It can filter files by MIME types, extended file attributes, Linux capabilities, file hashes, and supports pattern matching through regular expressions, globs, and SQL LIKE operators.
fselect includes aggregate functions (MIN, MAX, AVG, COUNT) for statistical analysis of file collections and can output results in multiple formats including CSV, JSON, and HTML. It offers experimental support for .gitignore, .hgignore, and .dockerignore files, plus an interactive mode for building queries. The tool targets developers, system administrators, and power users who need advanced file search capabilities beyond basic find operations.
# via Homebrew
brew install fselect
# via Cargo
cargo install fselect
# via Chocolatey
choco install fselect