# Install ffe with Homebrew, apt, MacPorts

Parse flat file structures and print them in different formats. Version 0.3.9a via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:ffe
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ffe
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install ffe
```

  Evidence: MacPorts ports tree: textproc/ffe/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Debian apt (92%):

```sh
sudo apt install ffe
```

  Evidence: Debian stable package indexes: ffe from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

## Package facts

- **Package key:** brew:ffe
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/ffe>
- **Version:** 0.3.9a
- **Source summary:** Parse flat file structures and print them in different formats
- **Homepage:** <https://ff-extractor.sourceforge.net/>
- **Upstream docs:** <https://ff-extractor.sourceforge.net/>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://downloads.sourceforge.net/project/ff-extractor/0.3.9a/0.3.9a.tar.gz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- ffe (cli)
- ffe (alias)

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.3.9a
- Local data: ok
- Upstream repository: https://ff-extractor.sourceforge.net/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

ffe, the flat file extractor, is a command-line parser and formatter for structured flat files. It reads text or binary records according to a required configuration file and prints selected data in other formats, making it a classic Unix-style bridge between awkward legacy files and pipelines.

### Project history

The official project page lists Timo Savinen as the author and records the first public version, 0.1.0, on March 1, 2006. The tool was developed in a GNU/Linux environment, distributed under GPL-2.0-or-later, built with GNU autotools, and intended to build on many Unix-like systems.

The release history shows steady, practical evolution rather than a platform pivot: early 0.1 releases added filtering, expression, replacement, and Windows executable support; 0.2 releases added regex record selection, binary fixed-length parsing, raw output, field-level output selection, and loose mode; 0.3 releases added structured output helpers, preprocessing, performance improvements, dynamic record length, anonymization, and printf-style formatting.

### Adoption history

ffe stayed in the small-tools lane, but the official site points to SourceForge source and Windows downloads, Debian packages, and a FreeBSD port. That is the adoption pattern of many durable Unix data tools: modest upstream visibility, distro packaging, and use by people who need a specific kind of batch conversion or validation.

Its niche is especially clear from the homepage's use cases: extracting fields or records, converting CSV to fixed length, verifying flat-file structure, testing flat-file development, displaying records in human-readable form, modifying structures, and mapping flat-file fields to other formats.

### How it is used

ffe requires a configuration file that describes input structures and output formats. The manual says the default configuration file is ~/.fferc on Unix and ffe.rc on Windows, with -c available to choose another file. Because it reads standard input and writes standard output by default, it fits into shell pipelines.

The practical workflow is to define record types, fixed or separated fields, expressions, and output directives, then run ffe against flat files to produce fixed-length, separated, tokenized, XML, SQL, raw, or other configured output. That makes it useful when the format is structured enough for a schema but too local or old-fashioned for a mainstream parser.

### Why package nerds care

ffe matters to package nerds as a representative of the quiet SourceForge-era Unix utilities that solve one unglamorous data problem well. Its value is not broad ecosystem gravity; it is that a packaged, documented, autotools-based CLI can keep old flat-file workflows reproducible across systems.

It is also a reminder that data tooling is not only JSON, CSV, and databases. Fixed-length records, mixed record types, binary fields, and configurable output formats still appear in institutional data exchanges, and ffe packages that logic as a small command instead of a one-off script.

### Timeline

- 2006: First version 0.1.0 released.
- 2007: 0.2 series begins, adding regular-expression record selection and other parsing features.
- 2008: 0.2.7 adds fixed-length binary parsing, raw output, and an info option.
- 2010: 0.3 series adds command-line expression fixes, case comparison, record levels, and structured output helpers.
- 2015: 0.3.6 adds filter-program formatting and dynamic record length support.
- 2017: 0.3.7 adds simple data anonymization.
- 2018: 0.3.8 adds printf-style output-field formatting; 0.3.9 fixes raw-data printing with variable-length records.

### Related projects

- ffe sits near awk, cut, sed, csv conversion tools, fixed-width parsers, XML or SQL export scripts, and older flat-file validation utilities, but uses its own configuration language to describe record structure and output.

### Sources

- <https://ff-extractor.sourceforge.net/>
- <https://ff-extractor.sourceforge.net/ffe.html>
- <https://ff-extractor.sourceforge.net/ffe.1.html>


## 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:** ffe
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - ffe - 0.3.9-2: normalized package name match | Debian stable package indexes: ffe from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Tool for parsing flat and CSV files and converting them to different formats | http://ff-extractor.sourceforge.net/
- Ubuntu apt - ffe - 0.3.9-1: normalized package name match | Ubuntu 24.04 LTS package indexes: ffe from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Tool for parsing flat and CSV files and converting them to different formats | http://ff-extractor.sourceforge.net/
- MacPorts - ffe: normalized package name match | MacPorts ports tree: textproc/ffe/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## 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.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Database and data packages](https://www.automicvault.com/pkg/database-data-tools/) - Matched database, SQL, migration, or data-store metadata.
- [datamash](https://www.automicvault.com/pkg/brew/datamash/) - Shares av.db curated category or tags: cli, data, text-processing.
- [sentencepiece](https://www.automicvault.com/pkg/brew/sentencepiece/) - Shares av.db curated category or tags: cli, data, text-processing.
- [stanford-corenlp](https://www.automicvault.com/pkg/brew/stanford-corenlp/) - Shares av.db curated category or tags: cli, data, parsing.
- [topfew](https://www.automicvault.com/pkg/brew/topfew/) - Shares av.db curated category or tags: cli, data, text-processing.
- [adios2](https://www.automicvault.com/pkg/brew/adios2/) - Shares av.db curated category or tags: cli, data.
- [alluxio](https://www.automicvault.com/pkg/brew/alluxio/) - Shares av.db curated category or tags: cli, data.
- [anyquery](https://www.automicvault.com/pkg/brew/anyquery/) - Shares av.db curated category or tags: cli, data.
- [apache-arrow](https://www.automicvault.com/pkg/brew/apache-arrow/) - Shares av.db curated category or tags: cli, data.
- [officeparser](https://www.automicvault.com/pkg/npm/officeparser/) - Local package facts share a topical domain. Shared terms: cli, data, file, files, parsing.
- [liborigin](https://www.automicvault.com/pkg/brew/liborigin/) - Local package facts share a topical domain. Shared terms: cli, data, file, files, format.

## Combined YAML source

View the package source record on GitHub. [combined/ffe.yml](https://github.com/automic-vault/db/blob/main/combined/ffe.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
