# Install ed with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper, scoop

Classic UNIX line editor. Version 1.22.5 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:ed
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ed
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install ed
```

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

### Linux

- apk (92%):

```sh
sudo apk add ed
```

  Evidence: Alpine Linux edge package indexes: ed from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install ed
```

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

- dnf (92%):

```sh
sudo dnf install ed
```

  Evidence: Fedora Rawhide package metadata: ed from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#ed
```

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

- pacman (92%):

```sh
sudo pacman -S ed
```

  Evidence: Arch Linux sync databases: ed from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install ed
```

  Evidence: openSUSE Tumbleweed package metadata: ed from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/red
```

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

## Package facts

- **Package key:** brew:ed
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/ed>
- **Version:** 1.22.5
- **Source summary:** Classic UNIX line editor
- **Homepage:** <https://www.gnu.org/software/ed/ed.html>
- **Repository:** <https://git.savannah.gnu.org/cgit/ed.git>
- **Upstream docs:** <https://www.gnu.org/software/ed/manual/ed_manual.html>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://ftpmirror.gnu.org/gnu/ed/ed-1.22.5.tar.lz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- ed (cli)
- red (cli)
- ed (alias)
- red (alias)

## Install behavior

- Post-install hook: not defined
- Caveats: All commands have been installed with the prefix "g". If you need to use these commands with their normal names, you can add a "gnubin" directory to your PATH from your bashrc like: PATH="$HOMEBREW_PREFIX/opt/ed/libexec/gnubin:$PATH"
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.22.5
- Local data: ok
- Upstream repository: https://www.gnu.org/software/ed/ed.html
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

GNU ed is the GNU implementation of the classic Unix line editor. In package-manager terms it is tiny, old-fashioned, standardized, scriptable, and still worth shipping because the `ed` utility is part of the Unix/POSIX tool vocabulary.

### Project history

The POSIX specification defines `ed` as a line-oriented text editor with command and input modes. That standardized interface is the historically important part of the package: `ed` is a small command language for editing text through standard input, not a screen editor.

The GNU package supplies the Free Software Foundation's maintained implementation, including both `ed` and the restricted variant `red`. GNU FTP release archives show the modern GNU release stream at least from ed 1.0 in August 2008 through ed 1.22.5 in February 2026.

### Adoption history

ed persists because it is standardized, scriptable, and expected on Unix-like systems even though most interactive editing moved to screen editors long ago. Its Homebrew, Debian, Ubuntu, Alpine, Arch, Nix, MacPorts, Scoop, and openSUSE packaging in the batch input reflects that baseline utility role.

GNU ed's adoption is therefore less about visible user enthusiasm and more about compatibility: scripts, recovery procedures, minimal systems, teaching material, and standards conformance still need a line editor named `ed`.

### How it is used

POSIX documents `ed [ -p string ] [ -s ] [ file ]`, with commands read from standard input. In command mode, input is interpreted as editing commands; in input mode, input is inserted as text.

GNU ed also ships `red`, a restricted form useful in constrained editing contexts. The utility is commonly used non-interactively in scripts or as a lowest-common-denominator editor on small systems.

### Why package nerds care

ed is package-manager bedrock: a tiny utility that looks obsolete until a bootstrap environment, recovery shell, POSIX test, or ancient script expects it. Shipping it is a compatibility decision as much as a feature decision.

For people who care about Unix history, `ed` is also a living fossil in the best sense: the interface in modern packages is still recognizably the line-editor model described by POSIX.

### Timeline

- 2008-08: GNU FTP archive lists ed 1.0.
- 2015-03: GNU FTP archive lists ed 1.11.
- 2020-02: GNU FTP archive lists ed 1.16.
- 2024-04: GNU FTP archive lists ed 1.20.2.
- 2026-02: GNU FTP archive lists ed 1.22.5.

### Related projects

- POSIX defines the portable `ed` utility interface.
- `red` is the restricted editor installed with GNU ed.
- Screen editors such as vi and Emacs largely displaced ed for daily interactive editing, but not for the standardized utility role.

### Sources

- <https://www.gnu.org/software/ed/manual/ed_manual.html>
- <https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/utilities/ed.html>
- <https://ftp.gnu.org/gnu/ed/>


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

## Other Package-Manager Records

- Debian apt - ed - 1.21.1-1: normalized package name match | Debian stable package indexes: ed from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | classic UNIX line editor | https://www.gnu.org/software/ed/
- Nix - ed: normalized package name match | nixpkgs package indexes: pkgs/by-name/ed/ed/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - ed - 1.20.1-1: normalized package name match | Ubuntu 24.04 LTS package indexes: ed from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | classic UNIX line editor | https://www.gnu.org/software/ed/
- apk - ed - 1.22.5-r0: normalized package name match | Alpine Linux edge package indexes: ed from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Line-oriented text editor used to create, display, modify and otherwise manipulate text files | https://www.gnu.org/software/ed/
- apk - ed-doc - 1.22.5-r0: normalized package name match | Alpine Linux edge package indexes: ed-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Line-oriented text editor used to create, display, modify and otherwise manipulate text files (documentation) | https://www.gnu.org/software/ed/
- dnf - ed - 1.22.5-2.fc45: normalized package name match | Fedora Rawhide package metadata: ed from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | The GNU line editor | https://www.gnu.org/software/ed/
- pacman - ed - 1.22.5-1: normalized package name match | Arch Linux sync databases: ed from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A POSIX-compliant line-oriented text editor | https://www.gnu.org/software/ed/ed.html
- zypper - ed - 1.22.5-1.1: normalized package name match | openSUSE Tumbleweed package metadata: ed from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | A line-oriented text editor | https://www.gnu.org/software/ed/
- MacPorts - ed: normalized package name match | MacPorts ports tree: editors/ed/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Nix - red: installed executable or alias match | nixpkgs package indexes: pkgs/by-name/re/red/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Scoop - main/red: installed executable or alias match | Scoop official bucket manifest trees: bucket/red.json from https://api.github.com/repos/ScoopInstaller/Main/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.
- [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.
- [mle](https://www.automicvault.com/pkg/brew/mle/) - Shares av.db curated category or tags: cli, developer-tools, editors, text-editor.
- [pyvim](https://www.automicvault.com/pkg/brew/pyvim/) - Shares av.db curated category or tags: cli, developer-tools, editors, text-editor.
- [ex-vi](https://www.automicvault.com/pkg/brew/ex-vi/) - Shares av.db curated category or tags: cli, developer-tools, text-editor, unix.
- [ghex](https://www.automicvault.com/pkg/brew/ghex/) - Shares av.db curated category or tags: cli, developer-tools, editors.
- [nano](https://www.automicvault.com/pkg/brew/nano/) - Shares av.db curated category or tags: cli, developer-tools, gnu, text-editor.
- [rmate](https://www.automicvault.com/pkg/brew/rmate/) - Shares av.db curated category or tags: cli, developer-tools, editors.
- [tweak](https://www.automicvault.com/pkg/brew/tweak/) - Shares av.db curated category or tags: cli, developer-tools, editors.
- [vimtutor-sequel](https://www.automicvault.com/pkg/brew/vimtutor-sequel/) - Shares av.db curated category or tags: cli, developer-tools, editors.
- [gnu-sed](https://www.automicvault.com/pkg/brew/gnu-sed/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, editor, gnu.
- [diffutils](https://www.automicvault.com/pkg/brew/diffutils/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, gnu, text.
- [enscript](https://www.automicvault.com/pkg/brew/enscript/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, gnu, text.

## Combined YAML source

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