F2 – Command-line batch renaming tool

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

The author recommends using the tool for the following reasons:

  • Organise your filesystem through batch renaming so that your files and directories can have a consistent naming scheme.
  • Comprehensive set of renaming options, and scales well from trivial string replacements to more complex operations involving regular expressions.
  • Prioritises correctness and safety by ensuring that a renaming operation does not result in conflicts or errors. It runs several validations before carrying out a renaming operation, and provides an easy way to automatically fix any detected conflicts.
  • Supports all the standard renaming recipes including (but not limited to) string replacement, insertion of text as a prefix, suffix or other position in the file name, stripping a set of characters, changing the case of a set of letters, using auto incrementing numbers, swapping parts of the file name, etc.
  • Provides several built-in variables for added flexibility in the renaming process. These variables are based on file attributes such as Exif information for images, and ID3 tags for audio files. F2 also supports utilising tags from the popular exiftool which should cover most use cases.
  • Revert any renaming operation performed with the program. This means you don’t have to worry about making a mistake because you can always get back to the previous state.
  • Good test coverage
  • Cross-platform support – runs under Linux, macOS, and Windows.
  • Good documentation.

F2 is free and open source software.

Features include:

  • Safe and transparent. F2 uses a dry run mode by default so you can review the exact changes that will be made to your filesystem before making them.
  • Cross-platform with full support for Linux, macOS, and Windows. It also runs on less commonly-used platforms, like Termux (Android).
  • Extremely fast, even when working with a large amount of files.
  • Supports the chaining of several consecutive renaming operations before a final output is produced.
  • Automatically detects potential conflicts such as file collisions, or overrides and reports them to you.
  • Provides several built-in variables for the easier renaming of certain file types.
  • Provides easy access to all ~25,000 tags in exiftool for maximum flexibility in renaming.
  • Supports find and replace using regular expressions, including capture groups.
  • Ignores hidden directories and files by default.
  • Respects the NO_COLOR environmental variable.
  • Supports limiting the number of replaced matches, and you can start from the beginning or end of the file name.
  • Supports recursive renaming for both files and directories.
  • Supports renaming only files, or only directories, or both.
  • Supports using an ascending integer for renaming (e.g 001, 002, 003, etc.), and it can be formatted in several ways.
  • Supports undoing the last renaming operation in case of mistakes or errors.
  • Supports renaming from a CSV file.
  • Extensive documentation and examples for each option that is provided.

Website: github.com/ayoisaiah/f2
Support:
Developer: Ayooluwa Isaiah
License: MIT License

F2
Click image for full size

F2 is written in Go. Learn Go with our recommended free books and free tutorials.

Return to Console Batch Renamers Home Page


Popular series
Linux for StartersNew to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux.
Free and Open Source SoftwareThe largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you make informed decisions.
Linux ReviewsHundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information.
Alternatives to GoogleAlternatives to Google's Products and Services examines your options to migrate from the Google ecosystem with open source Linux alternatives.
MicrosoftAlternatives to Microsoft's Products and Services recommends open source Linux software.
AdobeAlternatives to Adobe Cloud looks at free and open source alternatives to products available from Adobe Cloud's subscription service.
AppleAlternatives to Apple recommends free and open source alternatives to Apple's proprietary world.
CorelAlternatives to Corel surveys alternatives to Corel's range of graphics processing products and other software applications.
DockerGetting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers.
Linux System ToolsEssential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users.
Linux ProductivityLinux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine.
Home Computer EmulatorsHome computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum.
Now and ThenNow and Then examines how promising open source software fared over the years. It can be a bumpy ride.
Linux at HomeLinux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged.
Linux CandyLinux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery.
Best Free Android AppsBest Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series.
Programming BooksThese best free books accelerate your learning of every programming language. Learn a new language today!
Programming TutorialsThese free tutorials offer the perfect tonic to our free programming books series.
Stars and StripesStars and Stripes is an occasional series looking at the impact of Linux in the USA.
Share this article