Files
sized/README.md
T
gamertan aa469b47c0 feat: Initial launch v0.1.0
Initialize `sized` CLI tool with comprehensive features for directory visualization.

Features:
- Fast parallel directory traversal using `rayon`.
- Rich table output with colors and dual units (Binary/Decimal).
- Recursive sizing with depth control (`-d`).
- Filtering by minimum size (`-m`).
- Sorting by name, type, size, or blocks (`--sort`).
- Gitignore integration (`--ignore`).
- Multiple output formats: Text, CSV, JSON (`--format`).
- Export to file functionality (`--save`).
- Shell completion generation (`--completions`).
2026-01-22 12:17:19 -05:00

66 lines
2.0 KiB
Markdown

# Sized
A fast, concurrent, and feature-rich command-line tool for visualizing disk usage, written in Rust.
## Features
- **Fast & Concurrent**: Uses `rayon` to process directories in parallel, making it extremely fast on modern multi-core systems.
- **Rich Output**: Beautifully formatted tables with colors, distinguishing files and directories.
- **Dual Units**: Displays sizes in both Binary (MiB, GiB) and Decimal (MB, GB) units for clarity.
- **Advanced Filtering**: Filter by minimum size (`-m 10MB`) to find large items quickly.
- **Sorting**: Flexible sorting by name, type, size, or block count (`--sort`).
- **Gitignore Support**: Respects `.gitignore` and `.ignore` files to keep output clean (`-i`).
- **Export Options**: Export data to CSV or JSON for further analysis (`--format csv/json`).
- **Save to File**: Automatically save reports with timestamped filenames (`--save`).
## Installation
### From Source
Ensure you have Rust and Cargo installed. Clone the repository and install:
```bash
cargo install --path .
```
## Usage
### Basic Usage
Analyze the current directory:
```bash
sized
```
Analyze a specific path:
```bash
sized /path/to/directory
```
### Options
| Flag | Description | Example |
|------|-------------|---------|
| `-d`, `--depth` | Recursion depth (0 = current dir only) | `sized -d 1` |
| `-m`, `--min-size` | Filter by minimum size | `sized -m 100MB` |
| `-s`, `--sort` | Sort columns (size, name, type, blocks) | `sized --sort size:asc` |
| `-f`, `--path-full` | Force absolute paths in headers | `sized -f` |
| `-i`, `--ignore` | Respect .gitignore files | `sized -i` |
| `-j`, `--threads` | Set number of threads | `sized -j 4` |
| `--format` | Output format (text, csv, json) | `sized --format json` |
| `--save` | Save output to file | `sized --save` |
### Examples
**Find large directories (depth 1), respecting gitignore, and save to CSV:**
```bash
sized . -d 1 -i -m 50MB --format csv --save
```
**Generate Shell Completions (Zsh):**
```bash
sized --completions zsh > _sized
```
## License
[MIT](LICENSE)