summaryrefslogtreecommitdiff
path: root/bin/mdtf
diff options
context:
space:
mode:
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 }
+'