# Install xml-coreutils with Homebrew, MacPorts

Powerful interactive system for text processing. Version 0.8.1 via Homebrew; verified from local package data. Also installable with macports: sudo port install xml-coreutils.

## Install

```sh
sudo av install brew:xml-coreutils
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install xml-coreutils
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install xml-coreutils
```

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

## Package facts

- **Package key:** brew:xml-coreutils
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/xml-coreutils>
- **Version:** 0.8.1
- **Source summary:** Powerful interactive system for text processing
- **Homepage:** <https://xml-coreutils.sourceforge.net/>
- **Upstream docs:** <https://xml-coreutils.sourceforge.net/>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://downloads.sourceforge.net/project/xml-coreutils/xml-coreutils-0.8.1.tar.gz>
- **Generated:** 2026-08-04T22:13:35+00:00

## Executables

- xml-awk (cli)
- xml-cat (cli)
- xml-cp (cli)
- xml-cut (cli)
- xml-echo (cli)
- xml-file (cli)
- xml-find (cli)
- xml-fixtags (cli)
- xml-fmt (cli)
- xml-grep (cli)
- xml-head (cli)
- xml-less (cli)
- xml-ls (cli)
- xml-mv (cli)
- xml-paste (cli)
- xml-printf (cli)
- xml-rm (cli)
- xml-sed (cli)
- xml-strings (cli)
- xml-unecho (cli)
- xml-wc (cli)
- xml-awk (alias)
- xml-cat (alias)
- xml-cp (alias)
- xml-cut (alias)
- xml-echo (alias)
- xml-file (alias)
- xml-find (alias)
- xml-fixtags (alias)
- xml-fmt (alias)
- xml-grep (alias)
- xml-head (alias)
- xml-less (alias)
- xml-ls (alias)
- xml-mv (alias)
- xml-paste (alias)
- xml-printf (alias)
- xml-rm (alias)
- xml-sed (alias)
- xml-strings (alias)
- xml-unecho (alias)
- xml-wc (alias)

## Dependencies

- s-lang

## Uses from macOS

- expat
- ncurses

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## Freshness

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

xml-coreutils is a suite of Unix/POSIX-style command-line tools for operating directly on XML documents. Its premise is simple and very package-nerdy: make XML processing feel as natural to shell users as text processing with the traditional coreutils.

### Project history

Laird Breyer's project pages describe xml-coreutils as an attempt to retrofit XML processing into existing shells so it can coexist with classical line-oriented tools. The project explicitly compares itself to GNU coreutils and tries to keep command names, short options, and behavior close to familiar Unix utilities where that makes sense.

The SourceForge release feed shows public tarball activity concentrated in 2010 and 2011, with versions 0.4, 0.7, 0.8, 0.8a, 0.8b, 0.8c, and 0.8.1. The homepage describes the project as early-stage and not ready for production use, but usable for simple tasks.

### Adoption history

Adoption appears to have stayed niche. The official site points users to tarballs, a mailing list, manual pages, a tutorial, and information for DEB/RPM packaging, while the SourceForge code page exposes a CVS repository snapshot rather than a later Git migration.

The project's own related-tools page places it among XML shell utilities such as XMLSH, XSH, XMLStarlet, XMLTK, XMLgawk, and xml2, suggesting it was part of the late-2000s effort to make XML friendlier to command-line users.

### How it is used

The suite includes XML analogues of common shell operations: xml-cat, xml-cp, xml-cut, xml-find, xml-grep, xml-head, xml-less, xml-ls, xml-mv, xml-rm, xml-sed, xml-strings, xml-wc, and others. The tutorial emphasizes using these tools like traditional Unix commands, but against XML tree structure rather than raw text lines.

It is most practical as a historical and experimental shell toolkit for XML workflows, especially for users who want command composition over writing XPath-heavy scripts or full programs.

### Why package nerds care

xml-coreutils is significant less for broad adoption than for its packaging idea: turn a structured-data problem into many small Unix commands, each independently documented, scriptable, and installable.

It also captures a moment before JSON became the dominant shell-adjacent structured format, when XML was common enough that developers wanted grep/sed/coreutils-like ergonomics for it.

### Timeline

- 2010-05-11: SourceForge feed lists early 0.4, 0.7, and 0.8 tarballs.
- 2010-05-16: 0.8a tarball published.
- 2010-09-13: 0.8b tarball published.
- 2011-04-10: 0.8c tarball published.
- 2011-04-16: 0.8.1 tarball published.

### Related projects

- Related tools listed by the project include GNU coreutils, XMLSH, XSH, XMLStarlet, XMLTK, XMLgawk, xmltools, and xml2. Runtime/build-adjacent technologies named by the site include Expat and S-Lang.

### Sources

- <https://sourceforge.net/p/xml-coreutils/code/>
- <https://sourceforge.net/projects/xml-coreutils/rss?path=/>
- <https://www.lbreyer.com/xml-coreutils.html>
- <https://xml-coreutils.sourceforge.net/>
- <https://xml-coreutils.sourceforge.net/man.html>
- <https://xml-coreutils.sourceforge.net/related.html>
- <https://xml-coreutils.sourceforge.net/xml_coreutils_tutorial.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:** xml-coreutils
- **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

- MacPorts - xml-coreutils: normalized package name match | MacPorts ports tree: textproc/xml-coreutils/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://pkg.so/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://pkg.so/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://pkg.so/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://pkg.so/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [s-lang](https://pkg.so/brew/s-lang/) - Runtime dependency declared by Homebrew.
- [pyp](https://pkg.so/brew/pyp/) - Shares pkgdb curated category or tags: cli, developer-tools, shell, text-processing.
- [expat](https://pkg.so/brew/expat/) - Shares pkgdb curated category or tags: cli, developer-tools, xml.
- [m4](https://pkg.so/brew/m4/) - Shares pkgdb curated category or tags: cli, developer-tools, text-processing.
- [oniguruma](https://pkg.so/brew/oniguruma/) - Shares pkgdb curated category or tags: cli, developer-tools, text-processing.
- [yq](https://pkg.so/brew/yq/) - Shares pkgdb curated category or tags: cli, developer-tools, xml.
- [libxml2](https://pkg.so/brew/libxml2/) - Shares pkgdb curated category or tags: cli, developer-tools, xml.
- [starship](https://pkg.so/brew/starship/) - Shares pkgdb curated category or tags: cli, developer-tools, shell.
- [shellcheck](https://pkg.so/brew/shellcheck/) - Shares pkgdb curated category or tags: cli, developer-tools, shell.
- [choose-rust](https://pkg.so/brew/choose-rust/) - Local package facts share a topical domain. Shared terms: awk, cli, cut, developer, developer-tools.
- [lv](https://pkg.so/brew/lv/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, file, grep.

## Combined YAML source

View the package source record on GitHub. [combined/xml-coreutils.yml](https://github.com/mxcl/pkgdb/blob/main/combined/xml-coreutils.yml)


## Sources

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