Align data in columns using heuristics to find suitable column sizes that minimize the amount of wasted space. Useful for files like access logs where some lines have columns that are much larger than than the rest of the lines.
$ cat input.txt
aaa bbb ccc
a b c
aaaaaaaaaaaaaaaaaaaaaaa bb cc
aaaaa b ccccc
aaa bb ccc
aaaa bb cccc
aaa bb ccc
aaa bb ccc
aaaaa b ccccc
aaa bb ccc
aaa bb ccc
aaaaa b ccccc
$ tabulate <input.txt
aaa bbb ccc
a b c
aaaaaaaaaaaaaaaaaaaaaaa bb cc
aaaaa b ccccc
aaa bb ccc
aaaa bb cccc
aaa bb ccc
aaa bb ccc
aaaaa b ccccc
aaa bb ccc
aaa bb ccc
aaaaa b ccccc
$ tabulate -t <input.txt
aaa bbb ccc
a b c
aaaaaaa… bb cc
aaaaa b ccccc
aaa bb ccc
aaaa bb cccc
aaa bb ccc
aaa bb ccc
aaaaa b ccccc
aaa bb ccc
aaa bb ccc
aaaaa b ccccc
cargo install tabulate
``` Usage: tabulate [OPTIONS]
Options:
-t, --truncate [...]
Truncate data that does not fit in a column. Takes an optional list of columns that should be
truncated. If no LIST is given all columns are truncated
-c, --compress-cols
...
Select which columns to include in the output
-x, --exclude
...
Select which columns should be excluded from the output. This option takes precedence over
--include
-d, --delimiter
LIST should be a comma-separated list of ranges. Each range should be of one of the following forms:
N N'th column, starting at 1 N- from N'th column to end of line N-M from N'th to M'th column -M from first to M'th column ```