Sample Header Ad - 728x90

sorting a file on column 1 lexically, then numerically on column 2 and 3

1 vote
1 answer
917 views
I want to sort my file shown below: chr17 84938 85187 1 100 1 chr12 86723 87265 2 100 1 chr12 87368 87556 11 100 1 chr12 87704 87880 10 100 1 chr12 88018 88256 3 75 1 chr12 88018 88569 1 25 1 chr17 88171 69528 1 100 2 chr12 88393 88569 6 100 1 chr12 88750 88859 3 100 1 chr12 88772 88859 3 100 1 chr12 89019 89674 7 100 1 chr12 89828 90586 1 100 1 chr12 90656 90795 3 100 1 chr17 93459 92763 1 100 2 chr17 96901 69528 4 100 2 chr17 100273 99697 1 100 2 chr16 101557 97558 13 100 2 chr16 103475 101646 8 100 2 chr16 104059 105458 18 100 1 chr16 105550 105776 19 100 1 chr16 105883 106538 17 100 1 chr16 106614 107085 20 100 1 chr18 107887 109384 1 100 1 chr16 108971 108759 2 100 2 First I want to sort on column 1 then column 2 and then column 3 (all ascending order) I did that in Microsoft Excel and got this result: chr12 86723 87265 2 100 1 chr12 87368 87556 11 100 1 chr12 87704 87880 10 100 1 chr12 88018 88256 3 75 1 chr12 88018 88569 1 25 1 chr12 88393 88569 6 100 1 chr12 88750 88859 3 100 1 chr12 88772 88859 3 100 1 chr12 89019 89674 7 100 1 chr12 89828 90586 1 100 1 chr12 90656 90795 3 100 1 chr16 101557 97558 13 100 2 chr16 103475 101646 8 100 2 chr16 104059 105458 18 100 1 chr16 105550 105776 19 100 1 chr16 105883 106538 17 100 1 chr16 106614 107085 20 100 1 chr16 108971 108759 2 100 2 chr17 84938 85187 1 100 1 chr17 88171 69528 1 100 2 chr17 93459 92763 1 100 2 chr17 96901 69528 4 100 2 chr17 100273 99697 1 100 2 chr18 107887 109384 1 100 1 I used on unix command line this command sort -k 1,1 -nk2 -nk3 file.txt It gave me: chr17 84938 85187 1 100 1 chr12 86723 87265 2 100 1 chr12 87368 87556 11 100 1 chr12 87704 87880 10 100 1 chr12 88018 88256 3 75 1 chr12 88018 88569 1 25 1 chr17 88171 69528 1 100 2 chr12 88393 88569 6 100 1 chr12 88750 88859 3 100 1 chr12 88772 88859 3 100 1 chr12 89019 89674 7 100 1 chr12 89828 90586 1 100 1 chr12 90656 90795 3 100 1 chr17 93459 92763 1 100 2 chr17 96901 69528 4 100 2 chr17 100273 99697 1 100 2 chr16 101557 97558 13 100 2 chr16 103475 101646 8 100 2 chr16 104059 105458 18 100 1 chr16 105550 105776 19 100 1 chr16 105883 106538 17 100 1 chr16 106614 107085 20 100 1 chr18 107887 109384 1 100 1 chr16 108971 108759 2 100 2 What can I do here to get output similar to Excel?
Asked by user3138373 (2589 rep)
Sep 8, 2016, 10:27 PM
Last activity: Nov 14, 2024, 08:33 AM