Skip to content

Latest commit

 

History

History
141 lines (95 loc) · 3.22 KB

tuc.1.md

File metadata and controls

141 lines (95 loc) · 3.22 KB

% tuc(1) Tuc 1.2.0 | Tuc Manual % % Jan 01, 2024

NAME

tuc — cut text or bytes and keep what you need

SYNOPSIS

| tuc [FLAGS]... [OPTIONS]...

DESCRIPTION

Cut text (or bytes) where a delimiter matches, then keep the desired parts.

The data is read from standard input.

FLAGS

-g, --greedy-delimiter : Match consecutive delimiters as if it was one

-p, --compress-delimiter : Print only the first delimiter of a sequence

-s, --only-delimited : Print only lines containing the delimiter

-V, --version : Print version information

-z, --zero-terminated : Line delimiter is NUL (\0), not LF (\n)

-h, --help : Print this help and exit

-m, --complement : Invert fields (e.g. '2' becomes '1,3:')

-j, --(no-)join : Print selected parts with delimiter in between

--json : Print fields as a JSON array of strings

OPTIONS

| -f, --fields [bounds] | Fields to keep, 1-indexed, comma separated. | Use colon to include everything in a range. | Fields can be negative (-1 is the last field).

| [default 1:]

| e.g. cutting the string 'a-b-c-d' on '-' | -f 1 => a | -f 1: => a-b-c-d | -f 1:3 => a-b-c | -f 3,2 => cb | -f 3,1:2 => ca-b | -f -3:-2 => b-c

| To re-apply the delimiter add -j, to replace | it add -r (followed by the new delimiter)

| You can also format the output using {} syntax | e.g. | -f '({1}, {2})' => (a, b)

| You can escape { and } using {{ and }}.

| -b, --bytes [bounds] | Same as --fields, but it keeps bytes

| -c, --characters [bounds] | Same as --fields, but it keeps characters

| -l, --lines [bounds] | Same as --fields, but it keeps lines | Implies --join. To merge lines, use --no-join

| -d, --delimiter [delimiter] | Delimiter used by --fields to cut the text | [default: \t]

| -e, --regex [some regex] | Use a regular expression as delimiter

| -r, --replace-delimiter [new delimiter] | Replace the delimiter with the provided text

| -t, --trim [type] | Trim the delimiter (greedy). | Valid values are (l|L)eft, (r|R)ight, (b|B)oth

OPTIONS PRECEDENCE

--trim and --compress-delimiter are applied before --fields or similar

MEMORY CONSUMPTION

--characters and --fields read and allocate memory one line at a time

--lines allocate memory one line at a time as long as the requested fields are ordered and non-negative (e.g. -l 1,3:4,4,7), otherwise it allocates the whole input in memory (it also happens when -p or -m are being used)

--bytes allocate the whole input in memory

COLORS

Help is displayed using colors. Colors will be suppressed in the following circumstances:

  • when the TERM environment variable is not set or set to "dumb"
  • when the NO_COLOR environment variable is set (regardless of value)

BUGS

See GitHub Issues: https://github.com/riquito/tuc/issues

AUTHOR

Riccardo Attilio Galli [email protected]

SEE ALSO

cut(1), sed(1), awk(1)