Skip to content

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Awara Icon Awara

Release

A powerful cross-platform batch rename utility with GUI, CLI, and TUI interfaces. Rename hundreds of files in seconds with regex, numbering, case conversion, filters, and more — all backed by Rust for performance and safety.

GUI

The GUI (Graphical User Interface) provides a full desktop app with panels, menus, and tooltips for easy file management. See docs/gui.md for more information.

GUI Heavily inspired by Bulk Rename Utility

TUI

The TUI (Terminal User Interface) provides an interactive terminal-based UI for file management. See docs/tui.md for more information.

TUI

CLI

The CLI (Command Line Interface) provides a scriptable command-line tool with full flag documentation and examples. See docs/cli.md for more information.

Installation

Pre-built Executables (recommended)

Download the latest binary for your platform from the releases page.

From source

cargo install --git https://github.com/mdeik/Awara.git

Arch Linux / CachyOS (local PKGBUILD)

A repo-local PKGBUILD is included for Arch-based distros. It builds from your local checkout (no sources are fetched) and reads the version straight from Cargo.toml, so a version bump is the only edit you ever make. The desktop entry and icon are installed to /usr/share automatically.

cd packaging/arch
makepkg -si

Uninstall with pacman -R awara.

Usage

Running with no arguments launches the GUI (if available) or falls back to the TUI.

Interface Launch Usage
GUI Open the application normally (e.g. double-click the executable in your file manager) Browse and select files in the side panel, build a rename pipeline by clicking operations in the toolbar, preview results live, then apply. See docs/gui.md for keyboard shortcuts and guided help.
TUI awara --tui Keyboard-driven four-pane interface. Navigate and select files, build rename operations via the config list or console commands, preview before applying. See docs/tui.md for keybindings and console commands.
CLI awara [OPTIONS] [FILES]... Express every rename operation as a flag. No interactive setup prompts — ideal for scripts and automation. See docs/cli.md for full flag reference.

Operation Categories

Category Description
Find & Replace Simple text search and replace with case control
Regex Pattern matching and replacement with capture groups
Case Conversion Change filename or extension case (lower, upper, title, etc.)
Removals Remove characters by position, type, or pattern; trim and crop
Additions Add prefix, suffix, or insert text
Append Folder Name Prepend or insert parent folder name(s) into the filename
Auto Numbering Sequential numbering with configurable base, padding, and reset rules
Name / Extension Replace, append, or remove extensions; set fixed name mode
Move / Copy Parts Relocate or duplicate a substring within the filename
Date & Metadata Insert current/file/modified dates; set post-rename timestamps
File Attributes Set read-only, hidden, system, or archive flags after rename (support is filesystem-dependent — see docs/cli.md)
Filters & Sorting Filter by name pattern, path length, type, or attributes; sort by name, date, size, extension
Output & Safety Dry-run, undo scripts, output directory, stop-on-error, timestamp preservation
Presets Save and reload entire configurations as JSON files
Special Force interface mode, swap filenames, recursive traversal, depth control

See docs/gui.md for GUI layout, launch arguments, themes, and settings. See docs/tui.md for TUI keyboard shortcuts and console commands. See docs/cli.md for complete CLI flag documentation and examples.

Tech Stack

Component Technology Description
Language Rust (2024 Edition) Core systems programming language
GUI egui / eframe Immediate mode GUI with native file dialogs via rfd
TUI ratatui / crossterm Terminal user interface library and cross-platform terminal backend
CLI clap Command-line argument parser with derive macros
Concurrency rayon Multithreaded data parallelism
Text & Matching regex / glob / unicode-normalization Pattern matching, globbing, and Unicode normalization
Filesystem & I/O walkdir / trash Recursive directory traversal and cross-platform recycle bin support
Metadata & Time kamadak-exif / filetime EXIF metadata extraction and filesystem timestamp management
Serialization serde / serde_json Preset and config serialization/deserialization
Platform & Misc dirs / ctrlc / uuid / libc Config directories, signal handling, unique IDs, OS APIs

License

AGPL-3.0

About

Cross-platform batch file renaming utility with GUI, TUI, and CLI interfaces, powered by Rust.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages