fselect

fselect allows searching the filesystem with a SQL-like query syntax.

Key features:

  • SQL-like query syntax for intuitive file searching
  • Complex queries with subquery support across multiple directories
  • Aggregate functions (MIN, MAX, AVG, SUM, COUNT)
  • Archive searching within zip files
  • Image metadata filtering (width, height, EXIF data)
  • MP3 file attribute searching
  • Extended file attributes and POSIX ACLs support
  • File hash searching
  • MIME type filtering
  • File type shortcuts for quick filtering
  • Interactive mode for exploratory searching
  • Multiple output formats (CSV, JSON, HTML)

Basic usage

# Find all Rust files in current directory.
fselect name from . where name like '*.rs'

# Find large files (over 1MB) modified in the last 7 days.
fselect name, size from . where size > 1m and modified < 7d

# Search for JPEG images with width greater than 1920 pixels.
fselect name, width, height from . where name like '*.jpg' and width > 1920

# Find files by MIME type.
fselect name from . where mime = 'text/plain'