Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DECORATE(1)			 User Commands			   DECORATE(1)

NAME
       decorate	- command-line calculations

SYNOPSIS
       decorate	[OPTION]... [INPUT]
       decorate	--decorate [OPTION]... [INPUT]
       decorate	--undecorate N [OPTION]... [INPUT]

DESCRIPTION
       Converts	(and optionally	sorts) fields of various formats

       With  --decorate:  adds	the converted fields to	the start of each line
       and prints and prints it	to STDOUT; does	not sort.

       With --undecorate: removes the first N fields from the  input;  Use  as
       post-processing step after sort(1).

       Without --decorate and --undecorate: automatically decorates the	input,
       runs sort(1) and	undecorates the	result;	This is	the easiest method  to
       use.

   General Options:
       --decorate
	      decorate/convert	the  specified	fields and print the output to
	      STDOUT. Does not automatically run sort(1)  or  undecorates  the
	      output

       --header=N
	      does not decorate	or sort	the first N lines

       -H     same as --header=N

       -k, --key=KEYDEF
	      key/field	 to  sort; same	syntax as sort(1), optionally followed
	      by ':method' to convert to the field into	a sortable value;  see
	      examples and available conversion	below

       -t, --field-separator=SEP
	      use SEP instead of non-blank to blank transition

       --print-sort-args
	      print adjusted parameters	for sort(1); Useful when using --deco-
	      rate and then manually running sort(1)

       --undecorate=N
	      removes the first	N fields

       -z, --zero-terminated
	      line delimiter is	NUL, not newline

       --help display this help	and exit

       --version
	      output version information and exit

       The following options are passed	to sort(1) as-is:

       -c, --check

       --compress-program

       --random-source

       -s, --stable

       --batch-size

       -S, --buffer-size

       -T, --temporary-directory

       -u, --unique

       --parallel

       Available conversions methods (use with -k):

       as-is  copy as-is

       roman  roman numerals

       strlen length (in bytes)	of the specified field

       ipv4   dotted-decimal IPv4 addresses

       ipv6   IPv6 addresses

       ipv4inet
	      number-and-dots IPv4 addresses (incl. octal, hex values)

EXAMPLES
OVERVIEW
       The decorate program allows sorting input according to  various	order-
       ing,  e.g.  IP addresses, roman numerals, etc.  It works	in tandem with
       sort(1) to perform the actual sorting.

       The     idea	was	suggested     by     PA!draig	  Brady	    in
       https://lists.gnu.org/r/bug-coreutils/2015-06/msg00076.html:

       1.  Decorate:  convert  the  input  to  a sortable-format as additional
       fields
       2. Sort according to the	inserted fields
       3. Undecorate: remove the inserted fields

       Example of preparing to sort by roman numerals:

	      $	printf "%s\n" C	V III IX XI | decorate -k1,1:roman --decorate
	      0000100 C
	      0000005 V
	      0000003 III
	      0000009 IX
	      0000011 XI

       The  output  can	 now  be  sent	to  sort(1),  followed	 by   removing
       (=undecorate) the first field.

	      $	printf "%s\n" C	V III IX XI \
		     | decorate	-k1,1:roman --decorate \
		     | sort -k1,1 \
		     | decorate	--undecorate 1
	      III
	      V
	      IX
	      XI
	      C

       decorate(1)  can	 automatically	combine	 the  decorate-sort-undecorate
       steps (when run without --decorate or --undecorate):

	      $	printf "%s\n" C	V III IX XI | decorate -k1,1:roman
	      III
	      V
	      IX
	      XI
	      C

ADDITIONAL INFORMATION
       See GNU Datamash	Website	(https://www.gnu.org/software/datamash)

AUTHOR
       Written by Assaf	Gordon.

COPYRIGHT
       Copyright (C) 2020 Assaf	Gordon License GPLv3+: GNU GPL	version	 3  or
       later <https://gnu.org/licenses/gpl.html>.
       This  is	 free  software:  you  are free	to change and redistribute it.
       There is	NO WARRANTY, to	the extent permitted by	law.

SEE ALSO
       The full	documentation for decorate is maintained as a Texinfo  manual.
       If  the info and	decorate programs are properly installed at your site,
       the command

	      info decorate

       should give you access to the complete manual.

decorate 1.7			  April	2020			   DECORATE(1)

NAME | SYNOPSIS | DESCRIPTION | EXAMPLES | OVERVIEW | ADDITIONAL INFORMATION | AUTHOR | COPYRIGHT | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=decorate&sektion=1&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help