Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I align the columns of tables in Bash?

Tags:

bash

echo

I'd like to output a table format text. What I tried to do was echo the elements of an array with '\t', but it was misaligned.

My code

for((i=0;i<array_size;i++)); do    echo stringarray[$i] $'\t' numberarray[$i] $'\t' anotherfieldarray[$i] done; 

My output

a very long string..........     112232432      anotherfield a smaller string         123124343     anotherfield 

Desired output

a very long string..........     112232432      anotherfield a smaller string                 123124343      anotherfield 
like image 684
user1709294 Avatar asked Oct 07 '12 12:10

user1709294


1 Answers

Use the column command:

column -t -s' ' filename 
like image 154
P.P Avatar answered Sep 23 '22 02:09

P.P