https://github.com/darrenldl/dirsift
Search for directories by types
https://github.com/darrenldl/dirsift
command-line filesystem search tool
Last synced: 25 days ago
JSON representation
Search for directories by types
- Host: GitHub
- URL: https://github.com/darrenldl/dirsift
- Owner: darrenldl
- License: mit
- Created: 2021-02-24T14:26:00.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-02-17T11:03:08.000Z (over 2 years ago)
- Last Synced: 2024-05-01T15:10:58.360Z (about 1 year ago)
- Topics: command-line, filesystem, search, tool
- Language: OCaml
- Homepage:
- Size: 34.2 KB
- Stars: 6
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# dirsift
Search for directories by types
## Installation
Statically linked binaries are available via [GitHub releases](https://github.com/darrenldl/dirsift/releases)
Alternatively you can install dirsift via opam
## Usage
```
dirsift -t TYPE [PATH]
```Subdirectories of PATH which satisfy specified TYPE requirements are listed
PATH defaults to `.` if unspecified
TYPE can be one of
- `git`
- Directory identified as git repository
- `not-git`
- `borg`
- Directory identified as BorgBackup backup program repository
- `not-borg`
- `restic`
- Directory identified as Restic backup program repository
- `not-restic`
- `hidden`
- Name of directory begins with `.`
- `not-hidden`
- `hot`
- Directory contains >=1 file last modified within past 7 days (7 x 24 hours)
- User configurable
- `warm`
- Directory contains >=1 file last modified within past 30 days (30 x 24 hours), but not `hot`
- User configurable
- `cold`
- Directory is neither `hot` nor `warm`
- `empty`
- `not-empty`If multiple `-t TYPE` are specified, they are connected by `and` (conjunction),
i.e. directory must satisfy all TYPE requirements to be listed## Configuration
Create a file at `~/.config/dirsift/config`, add any number of the options
from the example config as follows```
hot_upper_bound = "7d"
warm_upper_bound = "30d"
```