kashav/fsql

Search for files using a fun query language

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 54 minutes ago
Type:CLI ToolCategory(s):CLI UtilitiesDeveloper Tools
Added to GitGenius on September 17th, 2026
Created on April 28th, 2017
Open Issues & Pull Requests: 9 (+0)
GitHub issues: Enabled
Number of forks: 117
Total Stargazers: 3,988 (+0)
Total Subscribers: 70 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

fsql is a command-line tool that lets you search your filesystem using SQL-like queries.

The tool solves the problem of making filesystem searches more expressive and composable than traditional find commands. Rather than learning find's syntax with its various flags and options, fsql lets you write queries with SELECT, FROM, and WHERE clauses. You specify which file attributes to display, which directories to search, and what conditions files must match. The query language supports pattern matching on filenames using both glob-style wildcards and regular expressions, size and time comparisons, file mode checks, and hash computation and comparison. Multiple conditions can be combined with AND, OR, and NOT operators, with parentheses for explicit precedence control.

fsql suits developers and system administrators who frequently need to locate files matching complex criteria. It works well for one-off searches where you want to filter by multiple attributes at once, such as finding recently modified files above a certain size or files matching a regex pattern in specific directory trees. The tool accepts queries via stdin or interactive mode, making it usable both in scripts and at the command line. Source paths support environment variables, tildes, and glob patterns, and you can exclude directories with a leading hyphen.

The project maintains active continuous integration with automated testing on code changes. Development activity shows consistent engagement with the codebase through regular updates and maintenance of the build pipeline.