cut(1) on Solnix vs Linux and the BSDs

On Solnix, cut is the illumos cut at /usr/bin/cut. It has only -b, -c, -d, -f, -n and -s. The GNU extensions (-w, -F, -O, --complement, -z, long options) are missing, and so is the FreeBSD -w.

What Solnix runs

A default Solnix system runs the illumos cut at /usr/bin/cut. No other variants are shipped. The Linux counterpart in the bundle is the GNU coreutils cut(1), so Linux scripts that use GNU-only options will fail on Solnix.

Differences

Compared withTopicWhat differs
LinuxGNU-only optionsSolnix cut has no --complement, -O/--output-delimiter, -w/--whitespace-delimited, -F or -z/--zero-terminated, and no long options. GNU cut documents all of these. Scripts that use them fail on Solnix.
Source: Solnix cut(1) SYNOPSIS and OPTIONS; Linux cut(1) --complement, -O, -w, -F, -z
Linux, FreeBSD-w whitespace delimiterSolnix cut has no -w. FreeBSD -w treats runs of spaces and tabs as one separator. GNU -w also takes an optional =trimmed. FreeBSD marks -w as an extension to the specification.
Source: FreeBSD cut(1) -w, STANDARDS; Linux cut(1) -w; Solnix cut(1) SYNOPSIS
all fourlist orderThe Solnix page says list numbers must be in increasing order. The FreeBSD, OpenBSD and NetBSD pages say numbers and ranges may be repeated, overlapping and in any order. The Linux page says input is written once, in the order read.
Source: Solnix cut(1) OPTIONS list; FreeBSD cut(1) DESCRIPTION; OpenBSD cut(1) DESCRIPTION; NetBSD cut(1) DESCRIPTION; Linux cut(1) DESCRIPTION
OpenBSD, NetBSD-d multi-character argumentOpenBSD and NetBSD use only the first character of the -d argument. Solnix -d takes one character, and that character can be multi-byte. The Linux and FreeBSD pages do not say what happens with a longer string.
Source: Solnix cut(1) -d; OpenBSD cut(1) -d; NetBSD cut(1) -d; Linux cut(1) -d; FreeBSD cut(1) -d
FreeBSD, OpenBSD, NetBSD-n semanticsSolnix -n adjusts the -b list so no multi-byte character is split. OpenBSD writes a character only if the position of its last byte is selected. FreeBSD and NetBSD write it if at least one of its bytes is selected and the remaining bytes of the character are selected too. A -b range that cuts a character can therefore give different output.
Source: Solnix cut(1) -b, -n; OpenBSD cut(1) -n; FreeBSD cut(1) -n; NetBSD cut(1) -n
OpenBSDlocale effect on -cOn OpenBSD, if LC_CTYPE is unset or is C or POSIX, -c does the same as -b and -n has no effect. The Solnix page does not describe this. It lists LANG, LC_ALL, LC_CTYPE, LC_MESSAGES and NLSPATH as affecting cut.
Source: OpenBSD cut(1) ENVIRONMENT; Solnix cut(1) ENVIRONMENT VARIABLES
FreeBSD, NetBSDenvironment variablesNetBSD says LANG, LC_ALL and LC_CTYPE affect cut only when -n is given. FreeBSD lists LANG, LC_ALL and LC_CTYPE. Solnix also lists LC_MESSAGES and NLSPATH.
Source: NetBSD cut(1) ENVIRONMENT; FreeBSD cut(1) ENVIRONMENT; Solnix cut(1) ENVIRONMENT VARIABLES
all fourlist separatorsThe Solnix page says a list may be comma-separated or blank-separated. FreeBSD, OpenBSD and NetBSD also say comma or whitespace. The Linux page describes only commas. A blank-separated list is not documented for GNU cut.
Source: Solnix cut(1) OPTIONS list; FreeBSD, OpenBSD, NetBSD cut(1) DESCRIPTION; Linux cut(1) DESCRIPTION

Standards

  • POSIX: cut is a POSIX.1-2024 utility.
  • Solnix: Interface Stability: Standard. The page also refers to standards(7).
  • FreeBSD: The cut utility conforms to IEEE Std 1003.2-1992 (“POSIX.2”). The -w flag is an extension to the specification.
  • OpenBSD: The cut utility is compliant with the IEEE Std 1003.1-2008 (“POSIX.1”) specification.
  • NetBSD: The cut utility conforms to IEEE Std 1003.2-1992 (“POSIX.2”).
  • Linux: The Linux cut(1) page in the bundle has no standards section.

Writing portable scripts

  • Use only -b, -c, -d, -f, -n and -s, with one-character delimiters. Avoid -w, -F, -O, -z and --complement.
  • Write lists in increasing, non-overlapping order, for example -f1,3,5, since the Solnix page requires increasing order.

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.