# Install f2 with Homebrew, Nix, scoop, winget

Command-line batch renaming tool. Version 2.2.2 via Homebrew; verified 2026-06-15.

## Install

```sh
sudo av install brew:f2
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install f2
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#f2
```

  Evidence: nixpkgs package indexes: pkgs/by-name/f2/f2/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

### Windows

- Scoop (92%):

```sh
scoop install main/f2
```

  Evidence: Scoop official bucket manifest trees: bucket/f2.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id ayoisaiah.f2 -e
```

  Evidence: Windows Package Manager source index: ayoisaiah.f2 from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:f2
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/f2>
- **Version:** 2.2.2
- **Source summary:** Command-line batch renaming tool
- **Homepage:** <https://f2.freshman.tech>
- **Repository:** <https://github.com/ayoisaiah/f2>
- **Upstream docs:** <https://github.com/ayoisaiah/f2#readme>
- **License:** MIT
- **Source archive:** <https://github.com/ayoisaiah/f2/archive/refs/tags/v2.2.2.tar.gz>
- **Last updated:** 2026-06-15T10:20:16-04:00
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- f2 (cli)
- f2 (alias)

## Build dependencies

- go

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.2.2
- Package-manager updated: 2026-06-15
- Local data: ok
- Upstream repository: https://github.com/ayoisaiah/f2
- Upstream latest detected: v2.2.2 (current)
## Project history and usage

F2 is a cross-platform Go CLI for batch-renaming files and directories with a safety-first workflow built around dry runs, conflict detection, undo support, and rich replacement variables.

### Project history

The GitHub repository was created in 2020, and the changelog lists version 0.1.0 on May 24, 2020 as the initial release. Version 1.0.0 followed on February 22, 2021 with regex filtering, capture groups, dry-run-by-default behavior, conflict detection, recursive renaming, ascending integer replacements, and undo from a map file.

The project evolved from basic batch replacement into a broader renaming toolkit. Later changelog entries added date variables, EXIF and ID3 variables, file hashes, CSV-based renaming, simple mode, find expressions, timezone-aware date handling, and performance improvements.

### Adoption history

F2 is packaged for Homebrew, Nix, Scoop, and winget in the input data, matching its cross-platform pitch. Its adoption path is typical for Go CLIs: single executable, prebuilt releases, and enough safety affordances to be trusted for destructive filesystem operations.

### How it is used

F2 is used for command-line batch renames where shell loops become risky or unreadable: regex replacements, capture-group rewrites, recursive directory changes, media-library organization using EXIF or ID3 metadata, CSV-driven rename maps, conflict resolution, and undoing completed operations.

The official docs emphasize that F2 defaults to a preview workflow. Users review the proposed changes before executing them, which is the main practical distinction between F2 and a quick `rename`, `mv`, or shell one-liner.

### Why package nerds care

F2 is significant as a polished example of a modern single-purpose Go CLI: prebuilt, cross-platform, heavily documented, and careful around filesystem danger. Package maintainers get one binary with no daemon, service file, or runtime configuration to shepherd.

### Timeline

- 2020: Repository created and 0.1.0 initial release published.
- 2021: 1.0.0 release adds regex filtering, dry-run-by-default behavior, conflict detection, recursive renaming, and undo.
- 2021: 1.7.0 adds CSV support and platform-aware backup locations.
- 2022: 1.8.0 adds simple mode and opt-in update notification.
- 2025: 2.2.x releases add find expressions, date token conveniences, timezone support, and targeted replacement improvements.

### Related projects

- Traditional Unix tools such as `mv`, shell loops, and `rename` cover smaller renaming jobs but do not provide F2's preview, conflict, metadata-variable, and undo workflow.
- ExifTool is relevant to F2 usage because F2 can use metadata-oriented variables for photo and media renaming workflows.

### Sources

- <https://github.com/ayoisaiah/f2>
- <https://github.com/ayoisaiah/f2/blob/master/README.md>
- <https://f2.freshman.tech/reference/changelog.html>
- <https://f2.freshman.tech/guide/tutorial.html>
- <https://api.github.com/repos/ayoisaiah/f2>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** f2
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - f2: normalized package name match | nixpkgs package indexes: pkgs/by-name/f2/f2/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Scoop - main/f2: normalized package name match | Scoop official bucket manifest trees: bucket/f2.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - ayoisaiah.f2: normalized package name match | Windows Package Manager source index: ayoisaiah.f2 from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [f3](https://www.automicvault.com/pkg/brew/f3/) - Package name indicates the same formula family.
- [brename](https://www.automicvault.com/pkg/brew/brename/) - Shares av.db curated category or tags: batch-rename, cli, developer-tools, file-management.
- [nomino](https://www.automicvault.com/pkg/brew/nomino/) - Shares av.db curated category or tags: batch-rename, cli, developer-tools, file-management.
- [fclones](https://www.automicvault.com/pkg/brew/fclones/) - Shares av.db curated category or tags: cli, developer-tools, file-management.
- [pipe-rename](https://www.automicvault.com/pkg/brew/pipe-rename/) - Shares av.db curated category or tags: batch-rename, cli, developer-tools, file-renaming.
- [bpython](https://www.automicvault.com/pkg/brew/bpython/) - Shares av.db curated category or tags: cli, developer-tool, developer-tools.
- [c](https://www.automicvault.com/pkg/brew/c/) - Shares av.db curated category or tags: cli, developer-tool, developer-tools.
- [ccheck](https://www.automicvault.com/pkg/brew/ccheck/) - Shares av.db curated category or tags: cli, developer-tool, developer-tools.
- [ccusage](https://www.automicvault.com/pkg/brew/ccusage/) - Shares av.db curated category or tags: cli, developer-tool, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/f2.yml](https://github.com/automic-vault/db/blob/main/combined/f2.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
