Synopsis: tsv-pretty [options] [file...]
tsv-pretty outputs TSV data in a format intended to be more human readable when
working on the command line. This is done primarily by lining up data into
fixed-width columns. Text is left aligned, numbers are right aligned. Floating
points numbers are aligned on the decimal point when feasible.
Processing begins by reading the initial set of lines into memory to determine
the field widths and data types of each column. This look-ahead buffer is used
for header detection as well. Output begins after this processing is complete.
By default, only the alignment is changed, the actual values are not modified.
Several of the formatting options do modify the values.
* Floating point numbers: Floats can be printed in fixed-width precision, using
the same precision for all floats in a column. This makes then line up nicely.
Precision is determined by values seen during look-ahead processing. The max
precision defaults to 9, this can be changed when smaller or larger values are
desired. See the '--f|format-floats' and '--p|precision' options.
* Header lines: Headers are detected automatically when possible. This can be
overridden when automatic detection doesn't work as desired. Headers can be
underlined and repeated at regular intervals.
* Missing values: A substitute value can be used for empty fields. This is often
less confusing than spaces. See '--e|replace-empty' and '--E|empty-replacement'.
* Exponential notion: As part float formatting, '--f|format-floats' re-formats
columns where exponential notation is found so all the values in the column
are displayed using exponential notation with the same precision.
* Preamble: A number of initial lines can be designated as a preamble and output
unchanged. The preamble is before the header, if a header is present. Preamble
lines can be auto-detected via the heuristic that they lack field delimiters.
This works well when the field delimiter is a TAB.
* Fonts: Fixed-width fonts are assumed. CJK characters are assumed to be double
width. This is not always correct, but works well in most cases.