Suresh Kumar
Suresh Kumar

Reputation: 1135

bash sort on column but do not sort same columns

My file contains:

9827259163,0,D<br>
9827961481,0,D<br>
9827202228,0,A<br>
9827529897,5,D<br>
9827529897,0#1#5#8,A<br>
9827700249,0#1,A<br>
9827700249,1#2,D<br>
9883219029,0,A<br>
9861065312,0,A<br>

I want it to sort on the basis of first column, if the records in first column are same, then do not sort those records further.

$ sort -t, -k1,1 test
9827202228,0,A
9827259163,0,D
9827529897,0#1#5#8,A
9827529897,5,D
9827700249,0#1,A
9827700249,1#2,D
9827961481,0,D
9861065312,0,A
9883219029,0,A

but what I expect is:

9827202228,0,A
9827259163,0,D
9827529897,5,D
9827529897,0#1#5#8,A
9827700249,0#1,A
9827700249,1#2,D
9827961481,0,D
9861065312,0,A
9883219029,0,A

because there are two records for 9827529897 and 9827700249, therefore it should not be sorted further.

Please suggest the command in bash shell

Upvotes: 2

Views: 1286

Answers (1)

oHo
oHo

Reputation: 54551

add option -s

 sort -st, -k1,1 test

output:

9827202228,0,A
9827259163,0,D
9827529897,5,D
9827529897,0#1#5#8,A
9827700249,0#1,A
9827700249,1#2,D
9827961481,0,D
9861065312,0,A
9883219029,0,A

Upvotes: 9

Related Questions