Tabulate is a command line utility that converts standard input into pretty-printed tables. It is also a Tcl module that does the same with lists of lists. It was inspired by https://github.com/joepvd/table . Tabulate works in Tcl 8.5+ and Jim Tcl.
It is currently developed as part of the Sqawk repository.
Download the latest version: curl https://raw.githubusercontent.com/dbohdan/sqawk/master/lib/tabulate.tcl > tabulate.tcl
$ ps | jimsh ./tabulate.tcl ┌─────┬─────┬────────┬─────┐ │ PID │ TTY │ TIME │ CMD │ ├─────┼─────┼────────┼─────┤ │20583│pts/3│00:00:01│ zsh │ ├─────┼─────┼────────┼─────┤ │23301│pts/3│00:00:00│ ne │ ├─────┼─────┼────────┼─────┤ │28007│pts/3│00:00:00│ ps │ ├─────┼─────┼────────┼─────┤ │28008│pts/3│00:00:00│jimsh│ └─────┴─────┴────────┴─────┘
% source lib/tabulate.tcl % ::tabulate::tabulate -data {{Hello World}} ┌─────┬─────┐ │Hello│World│ └─────┴─────┘
JM I am probably doing something wrong:
% info tclversion 8.6 % info patchlevel 8.6.4 % source tabulate.tcl % ::tabulate::tabulate -data {{Hello World!}} wrong # args: should be "dict exists dictionary key ?key ...?"
See https://github.com/dbohdan/sqawk/blob/master/lib/tabulate.tcl .