Sort the file using inbuit Linux command.

Lets consider we have file called ‘test.csv’ with data like

Header1, Header2, Header3
Priyanka, Pathak, 3
Ruby, Rails, 10
Rahul, Shukla, 2

Lets avoid header row, sort content by third column and save output in same file.
for i in test.csv ; do head -1 ${i} > h${i}; sed 1d ${i} | sort -t, -k 3 >> h${i}; mv -f h${i} ${i}; done

Output would be:

Header1, Header2, Header3
Rahul, Shukla, 2
Priyanka, Pathak, 3
Ruby, Rails, 10

Lets avoid header row and then sort content by second column.
sort -t, -k 2 test.csv

Output would be:

Header1, Header2, Header3
Priyanka, Pathak, 3
Ruby, Rails, 10
Rahul, Shukla, 2

There are many more options available with ‘Sort’ command.

> sort –help : will gives you all possible option available with it.

Usage: sort [OPTION]… [FILE]…
Write sorted concatenation of all FILE(s) to standard output.

Mandatory arguments to long options are mandatory for short options too.
Ordering options:

-b, –ignore-leading-blanks ignore leading blanks
-d, –dictionary-order consider only blanks and alphanumeric characters
-f, –ignore-case fold lower case to upper case characters
-g, –general-numeric-sort compare according to general numerical value
-i, –ignore-nonprinting consider only printable characters
-M, –month-sort compare (unknown) < `JAN' < … < `DEC'
-n, –numeric-sort compare according to string numerical value
-r, –reverse reverse the result of comparisons

Other options:

-c, –check check whether input is sorted; do not sort
-k, –key=POS1[,POS2] start a key at POS1, end it at POS2 (origin 1)
-m, –merge merge already sorted files; do not sort
-o, –output=FILE write result to FILE instead of standard output
-s, –stable stabilize sort by disabling last-resort comparison
-S, –buffer-size=SIZE use SIZE for main memory buffer
-t, –field-separator=SEP use SEP instead of non-blank to blank transition
-T, –temporary-directory=DIR use DIR for temporaries, not $TMPDIR or /tmp;
multiple options specify multiple directories
-u, –unique with -c, check for strict ordering;
without -c, output only the first of an equal run
-z, –zero-terminated end lines with 0 byte, not newline
–help display this help and exit
–version output version information and exit

POS is F[.C][OPTS], where F is the field number and C the character position
in the field. OPTS is one or more single-letter ordering options, which
override global ordering options for that key. If no key is given, use the
entire line as the key.

SIZE may be followed by the following multiplicative suffixes:
% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.

With no FILE, or when FILE is -, read standard input.