bug#6972: bug in sorting floats (original) (raw)

Hi, I want to sort a file by the 6th column:

test.txt

AvrBs2<- Fer2 -> XopE1 0.0844155844155844 ((1.1e+03)(1.1e+03)) AvrBs2<- UPF0302 -> XopE1 0 ((40)(5.2e+02)) AvrBs1<- Calc_CGRP_IAPP -> XopH 0.1 ((2.6e+02)(4.2e+02)) AvrBs2<- DUF3248 -> XopE1 0.0476190476190476 ((7.6e+02)(5.7e+02)) AvrBs2<- MIG-14_Wnt-bd -> XopE1 0 ((3.6e+03)(3.6e+03)) XopX<- Zw10 -> XopJ1 0.0218487394957983 ((1.6e+02)(7e+02)) XopX<- Zw10 -> XopJ2 0.019327731092437 ((1.6e+02)(1.7e+03)) AvrBs1<- 3H -> XopJ4 0.153061224489796 ((3.4e+02)(25)) AvrBs2<- Ubiq_cyt_C_chap -> XopE1 0 ((7.6e+02)*(1.8e+03))

There's no sort option to do that correctly:

address@hidden:~$ sort -k6g test.txt AvrBs1<- 3H -> XopJ4 0.153061224489796 ((3.4e+02)(25)) AvrBs1<- Calc_CGRP_IAPP -> XopH 0.1 ((2.6e+02)(4.2e+02)) AvrBs2<- DUF3248 -> XopE1 0.0476190476190476 ((7.6e+02)(5.7e+02)) AvrBs2<- Fer2 -> XopE1 0.0844155844155844 ((1.1e+03)(1.1e+03)) AvrBs2<- MIG-14_Wnt-bd -> XopE1 0 ((3.6e+03)(3.6e+03)) AvrBs2<- Ubiq_cyt_C_chap -> XopE1 0 ((7.6e+02)(1.8e+03)) AvrBs2<- UPF0302 -> XopE1 0 ((40)(5.2e+02)) XopX<- Zw10 -> XopJ1 0.0218487394957983 ((1.6e+02)(7e+02)) XopX<- Zw10 -> XopJ2 0.019327731092437 ((1.6e+02)*(1.7e+03))

address@hidden:~$ sort -k6n test.txt AvrBs2<- MIG-14_Wnt-bd -> XopE1 0 ((3.6e+03)(3.6e+03)) AvrBs2<- Ubiq_cyt_C_chap -> XopE1 0 ((7.6e+02)(1.8e+03)) AvrBs2<- UPF0302 -> XopE1 0 ((40)(5.2e+02)) AvrBs1<- Calc_CGRP_IAPP -> XopH 0.1 ((2.6e+02)(4.2e+02)) XopX<- Zw10 -> XopJ2 0.019327731092437 ((1.6e+02)(1.7e+03)) AvrBs1<- 3H -> XopJ4 0.153061224489796 ((3.4e+02)(25)) XopX<- Zw10 -> XopJ1 0.0218487394957983 ((1.6e+02)(7e+02)) AvrBs2<- DUF3248 -> XopE1 0.0476190476190476 ((7.6e+02)(5.7e+02)) AvrBs2<- Fer2 -> XopE1 0.0844155844155844 ((1.1e+03)*(1.1e+03))

address@hidden:~$ sort -k6 test.txt XopX<- Zw10 -> XopJ2 0.019327731092437 ((1.6e+02)(1.7e+03)) XopX<- Zw10 -> XopJ1 0.0218487394957983 ((1.6e+02)(7e+02)) AvrBs2<- DUF3248 -> XopE1 0.0476190476190476 ((7.6e+02)(5.7e+02)) AvrBs2<- Fer2 -> XopE1 0.0844155844155844 ((1.1e+03)(1.1e+03)) AvrBs1<- Calc_CGRP_IAPP -> XopH 0.1 ((2.6e+02)(4.2e+02)) AvrBs1<- 3H -> XopJ4 0.153061224489796 ((3.4e+02)(25)) AvrBs2<- MIG-14_Wnt-bd -> XopE1 0 ((3.6e+03)(3.6e+03)) AvrBs2<- UPF0302 -> XopE1 0 ((40)(5.2e+02)) AvrBs2<- Ubiq_cyt_C_chap -> XopE1 0 ((7.6e+02)*(1.8e+03))

Best regards