Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ayoisaiah/f2

F2 is a cross-platform command-line tool for batch renaming files and directories quickly and safely. Written in Go!
https://github.com/ayoisaiah/f2

batch-rename bulk-rename-files golang linux macos rename-files windows

Last synced: 3 months ago
JSON representation

F2 is a cross-platform command-line tool for batch renaming files and directories quickly and safely. Written in Go!

Awesome Lists containing this project

README

        


f2



Github Actions
made-with-Go
GoReportCard
Go.mod version
LICENCE
Latest release

F2 - Command-Line Batch Renaming

**F2** is a cross-platform command-line tool for batch renaming files and
directories **quickly** and **safely**. Written in Go!

## What does F2 do differently?

Compared to other renaming tools, F2 offers several key advantages:

- **Dry Run by Default**: It defaults to a dry run so that you can review the
renaming changes before proceeding.

- **Variable Support**: F2 allows you to use file attributes, such as EXIF data
for images or ID3 tags for audio files, to give you maximum flexibility in
renaming.

- **Comprehensive Options**: Whether it's simple string replacements or complex
regular expressions, F2 provides a full range of renaming capabilities.

- **Safety First**: It prioritizes accuracy by ensuring every renaming operation
is conflict-free and error-proof through rigorous checks.

- **Conflict Resolution**: Each renaming operation is validated before execution
and detected conflicts can be automatically resolved.

- **High Performance**: F2 is extremely fast and efficient, even when renaming
thousands of files at once.

- **Undo Functionality**: Any renaming operation can be easily undone to allow
the easy correction of mistakes.

- **Extensive Documentation**: F2 is well-documented with clear, practical
examples to help you make the most of its features without confusion.

## ⚡ Installation

If you're a Go developer, F2 can be installed with `go install` (requires v1.23
or later):

```bash
go install github.com/ayoisaiah/f2/cmd/f2@latest
```

Other installation methods are
[documented here](https://f2.freshman.tech/guide/getting-started.html) or check
out the [releases page](https://github.com/ayoisaiah/f2/releases) to download a
pre-compiled binary for your operating system.

## 📃 Quick links

- [Installation](https://f2.freshman.tech/guide/getting-started.html)
- [Getting started tutorial](https://f2.freshman.tech/guide/tutorial.html)
- [Real-world example](https://f2.freshman.tech/guide/organizing-image-library.html)
- [Built-in variables](https://f2.freshman.tech/guide/how-variables-work.html)
- [File pair renaming](https://f2.freshman.tech/guide/pair-renaming.html)
- [Renaming with a CSV file](https://f2.freshman.tech/guide/csv-renaming.html)
- [Sorting](https://f2.freshman.tech/guide/sorting.html)
- [Resolving conflicts](https://f2.freshman.tech/guide/conflict-detection.html)
- [Undoing renaming mistakes](https://f2.freshman.tech/guide/undoing-mistakes.html)
- [CHANGELOG](https://f2.freshman.tech/reference/changelog.html)

## 💻 Screenshots

![F2 can utilise Exif attributes to organise image files](https://f2.freshman.tech/assets/2.D-uxLR9T.png)

## 🤝 Contribute

Bug reports and feature requests are much welcome! Please open an issue before
creating a pull request.

## ⚖ Licence

Created by Ayooluwa Isaiah and released under the terms of the
[MIT Licence](https://github.com/ayoisaiah/f2/blob/master/LICENCE).