summary refs log tree commit diff
path: root/bin/jq-table
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2022-11-18 18:07:38 +0100
committerRobert Günzler <r@gnzler.io>2022-11-18 18:38:21 +0100
commitf005fbf41646437964458d4c2028e6fdc04b59a1 (patch)
tree2db56c1d202137278c5642ed418123b882d35dc5 /bin/jq-table
parent5e6e8da510836bbb0c7ac1602d51a394ba02ab2b (diff)
bin: add a few scripts
Diffstat (limited to 'bin/jq-table')
-rwxr-xr-xbin/jq-table8
1 files changed, 8 insertions, 0 deletions
diff --git a/bin/jq-table b/bin/jq-table
new file mode 100755
index 0000000..55d16fb
--- /dev/null
+++ b/bin/jq-table
@@ -0,0 +1,8 @@
+#!/bin/bash
+tsv=$(jq 'def hdr:to_entries|map(.key); def vals:to_entries|map(.value|tostring); (arrays|[(first|hdr)]+[.[]|vals]) // (objects|[hdr]+[vals])|.[]|@tsv' -r)
+col=$(head -n1 <<<"$tsv" | tr '\t' ',' | tr '[:lower:]' '[:upper:]')
+if [ "$1" = "--headers" ]; then
+	echo "$col"
+	exit 1
+fi
+exec column -s $'\t' --table --table-columns "$col" "$@" <(tail -n+2 <<<"$tsv")