summaryrefslogtreecommitdiff
path: root/bin/mdtf
diff options
context:
space:
mode:
authorMarc Vertes <mvertes@free.fr>2026-03-09 17:20:22 +0100
committerMarc Vertes <mvertes@free.fr>2026-03-09 17:20:22 +0100
commitfcfa44a20660dbd9dbd23dc5d2eb0bf3310b827d (patch)
tree10a0553dc90c23860057c3188a0090ad3dabd08e /bin/mdtf
parentfd6b3c227d160d79f0fb9995e66d16dc836432ab (diff)
add mdtf command to format markdown tables
Diffstat (limited to 'bin/mdtf')
-rwxr-xr-xbin/mdtf23
1 files changed, 23 insertions, 0 deletions
diff --git a/bin/mdtf b/bin/mdtf
new file mode 100755
index 0000000..be5beaa
--- /dev/null
+++ b/bin/mdtf
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# mdtf - markdown table formater
+
+awk -F '|' '
+NR == 1 { n = NF-2 }
+{ for (j = 1; j < n+2; j++) cell[NR,j] = $(j+1) }
+END {
+ for (j = 1; j < n+2; j++) {
+ max = 1
+ for (i = 1; i <= NR; i++) {
+ l = length(cell[i,j])
+ max = l > max ? l : max
+ }
+ for (i = 1; i <= NR; i++) {
+ p = substr(cell[i,j], 1, 1)
+ line[i] = line[i] FS cell[i,j] fill(max-length(cell[i,j]), p)
+ }
+ }
+ for (i = 1; i <= NR; i++) print line[i]
+}
+func fill(n, p, i, s) { for (i = 0; i < n; i++) s = s p; return s }
+'