Sort CSV file by column priority using the "sort" command

Rafael Orágio picture Rafael Orágio · Feb 27, 2012 · Viewed 105.2k times · Source

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.

Answer

Charlie Martin picture Charlie Martin · Feb 27, 2012
sort --field-separator=';' --key=2,1,3