Skip to main content
2 of 2
pretify
Stéphane Chazelas
  • 584.9k
  • 96
  • 1.1k
  • 1.7k

I don't think there's such a command, you'd have to do by hand. Something like:

awk '
  {
    nf[NR]=NF
    for (i = 1; i <= NF; i++) {
      f[NR,i] = $i
      gsub(/\033\[[0-9;]*[mK]/, "", $i)
      len[NR,i] = l = length($i)
      if (l > max[i]) max[i] = l
    }
  }
  END {
    for (n = 1; n <= NR; n++) {
      for (i = 1; i < nf[n]; i++)
        printf "%s%*s", f[n,i], max[i]+1-len[n,i], ""
      print f[n,nf[n]]
    }
  }'
Stéphane Chazelas
  • 584.9k
  • 96
  • 1.1k
  • 1.7k