Unix – Sort CSV file by column priority using the “sort” command

csvsortingsql-order-byunix

I have a csv file, and I would like to sort it by column priority, like "order by". For example:

3;1;2
1;3;2
1;2;3
2;3;1
2;1;3
3;2;1

If this situation was the result of a "select", the "order by" would be as follows: order by column2, column1, column3 – the result would be:

2;1;3
3;1;2
1;2;3
3;2;1
1;3;2
2;3;1

I'd like to know how to get this same result using "sort" command on Unix.

Best Answer

sort --field-separator=';' --key=2,1,3