Você também pode usar isso:
column -s, -t < somefile.csv | less -#2 -N -S
column
é um programa unix padrão que é muito conveniente - encontra a largura apropriada de cada coluna e exibe o texto como uma tabela bem formatada.
Nota: sempre que houver campos vazios, você precisará colocar algum tipo de espaço reservado, caso contrário, a coluna será mesclada com as seguintes. O exemplo a seguir demonstra como usar sed
para inserir um espaço reservado:
$ cat data.csv
1,2,3,4,5
1,,,,5
$ sed 's/,,/, ,/g;s/,,/, ,/g' data.csv | column -s, -t
1 2 3 4 5
1 5
$ cat data.csv
1,2,3,4,5
1,,,,5
$ column -s, -t < data.csv
1 2 3 4 5
1 5
$ sed 's/,,/, ,/g;s/,,/, ,/g' data.csv | column -s, -t
1 2 3 4 5
1 5
Observe que a substituição de ,,
por , ,
é feita duas vezes. Se você fizer isso apenas uma vez, 1,,,4
se tornará 1, ,,4
uma vez que a segunda vírgula já corresponde.