0
不一致的答案我使用排序按照字母顺序排列的文件的行排序,但我得到了一些奇怪的结果。 我认为这是使用字符的十进制代码对它们进行排序,但看起来不像。即'E'(十进制码69)在'e'(十进制码101)之后,'0'(码48)在':'之后(码58)。
我试图用与sort命令
if [[ "E" < "e" ]]; then echo "true"; else echo "false"; fi
和
if [[ "0" < ":" ]]; then echo "true"; else echo "false"; fi
检查,如果它给了我正确的答案,但事实并非如此。 我正在使用Ubuntu 12.04,并且我的环境和我正在尝试排序的文件的编码被定义为en_us.UTF-8。
问题是,我必须解析java程序中的这些文件,假设这些行按字母顺序排序。所以,当java根据字符的十进制代码比较字符串时,我的解析失败,因为文件中的行不按照相同的顺序排序。
有人可以帮我解决这个问题,或者迫使排序使用十进制代码,要么使用另一种方法来按照这个顺序对文件进行排序。
非常感谢您的任何帮助。