GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
DECORATE(1) User Commands DECORATE(1)

decorate - command-line calculations

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

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.

--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 --decorate 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)

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

The idea was suggested by Pá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

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

Written by Assaf Gordon.

Copyright © 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.

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.

April 2020 decorate 1.7

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.