mapfile -t a c for b in "${a[@]}" { d= IFS=\` for i in $b;{((c[d++]<${#i}))&&c[d-1]=${#i} } } for b in "${a[@]}" {(for z in $b { printf $y\%-$[c[x++]]s "$z" y=\ }) echo }