使用sort (coreutils) 5.2.1
排序POS /使用Unix的小數部分排序
我有以下文件,我想通過場4的非整數部分進行排序,其這可以是負的或正數NEG數字,也可能具有值INF。
field1 field2 field3 tag=INF field5 field6
field1 field2 field3 tag=INF field5 field6
field1 field2 field3 tag=0.123 field5 field6
field1 field2 field3 tag=4.22 field5 field6
field1 field2 field3 tag=5.77 field5 field6
field1 field2 field3 tag=-1.92 field5 field6
field1 field2 field3 tag=-1.91 field5 field6
field1 field2 field3 tag=INF field5 field6
我想這是歸類爲
field1 field2 field3 tag=-1.92 field5 field6
field1 field2 field3 tag=-1.91 field5 field6
field1 field2 field3 tag=0.123 field5 field6
field1 field2 field3 tag=4.22 field5 field6
field1 field2 field3 tag=5.77 field5 field6
field1 field2 field3 tag=INF field5 field6
field1 field2 field3 tag=INF field5 field6
field1 field2 field3 tag=INF field5 field6
鑑於場的數量部分字符位置4(假設索引從0開始,而我不知道的這一點),我試圖用sort
以下選項:
sort -g -k4.4 inputfile
sort -g -k4.5 inputfile
sort -n -k4.4 inputfile
sort -n -k4.5 inputfile
sort -g inputfile
這些都產生以下,這是接近,但並不完全正確。大小排序正確,但我希望最上面的負值。
field1 field2 field3 tag=0.123 field5 field6
field1 field2 field3 tag=-1.91 field5 field6
field1 field2 field3 tag=-1.92 field5 field6
field1 field2 field3 tag=4.22 field5 field6
field1 field2 field3 tag=5.77 field5 field6
field1 field2 field3 tag=INF field5 field6
field1 field2 field3 tag=INF field5 field6
field1 field2 field3 tag=INF field5 field6
我該如何讓sort
表現?
FWIW,這裏的更多信息:
LANG = en_US.UTF-8
Red Hat Enterprise Linux WS release 4 (Nahant Update 6)
我得到了同樣的結果。它按照預期的方式排除了'tag =',並在第一個字段中排序,但不在其他任何帶有'tag ='的字段中排序。 – Kevin