msgfilter(1) on Solnix vs Linux and the BSDs

msgfilter is the GNU gettext tool that pipes every translation in a PO catalog through a filter program. It is not in the Solnix base system: install pkgs.solnix.gettext. The Solnix and Linux pages are the same program text, and the bundle has no BSD counterpart page.

What Solnix runs

Not installed by default: add pkgs.solnix.gettext. The Solnix page is from GNU gettext-tools 0.22.5 (February 2024). The Linux counterpart is GNU gettext-tools 1.0 (January 2026). No other illumos variants are shipped.

Differences

Compared withTopicWhat differs
Linuxsame programSolnix and Linux both document GNU msgfilter with identical SYNOPSIS and the same option list. The only visible difference is the gettext version: 0.22.5 on Solnix, 1.0 on Linux. The bundle shows no option added or removed between them.
Source: Solnix msgfilter(1) footer (GNU gettext-tools 0.22.5); Linux msgfilter(1) footer (GNU gettext-tools 1.0); both SYNOPSIS and OPTIONS
FreeBSD, OpenBSD, NetBSDno BSD counterpart pageThe bundle has no msgfilter page for FreeBSD, OpenBSD or NetBSD, so nothing is stated about whether these systems ship it. Treat it as a GNU gettext add-on there; the manual does not say more.
Source: Bundle header (only a linux counterpart is listed)
Linuxnot in base systemOn a default Solnix system msgfilter is not on PATH. Scripts that assume it exists, as on Linux systems with gettext-tools installed, fail until pkgs.solnix.gettext is added.
Source: Bundle header (none: install pkgs.solnix.gettext)
all four-n means two things-n is listed both as --quiet/--silent (sed filter option, suppress automatic printing) and as --add-location (preserve '#: filename:line' lines). Which is meant depends on position: before or after the FILTER. The page does not spell out the parsing rule.
Source: Solnix msgfilter(1) 'Useful FILTER-OPTIONs when the FILTER is sed' -n; Output details -n, --add-location; same on Linux
all fourfilter I/O and --newlineThe filter reads one translation on standard input and writes the modified translation to standard output. With --newline, a newline is added to the input and one is removed from the output. This helps line-oriented filters such as sed.
Source: Solnix msgfilter(1) DESCRIPTION, 'Filter input and output' --newline
all fourdefault input and outputWithout -i or with -, the PO file is read from standard input. Without -o or with -, output goes to standard output. Because output is a PO file by default, -p or --stringtable-output is needed for other formats.
Source: Solnix msgfilter(1) Input file location, Output file location, Output details

Standards

  • POSIX: msgfilter is not a POSIX.1-2024 utility.
  • Solnix: The page names no standard. Full documentation is the Texinfo manual (info msgfilter).

Writing portable scripts

  • Check that msgfilter is on PATH before use; on Solnix install pkgs.solnix.gettext first.
  • Put -e, -f and -n for sed after the FILTER name, and use --no-location instead of a bare -n when you mean to suppress location lines, so the ambiguous -n is not misread.

Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.