linux如何在文本文件中存储负数?

时间:2015-07-08 09:35:58

标签: linux sorting

我使用ed创建了一个文件,并将其命名为numeric。其内容如下:

-100
-10
0
99
11
-56
12

然后我在终端上执行了这个命令:

sort numeric

结果是:

0
-10
-100
11
12
-56
99

当然,这个输出完全没有预期!

4 个答案:

答案 0 :(得分:4)

文本文件是文本文件,它们包含文本。您的号码按字母顺序排序。如果您希望sort根据数值进行排序,请使用sort -n

另外,你的排序结果很奇怪,当我运行相同的测试时:

$ sort numeric
-10
-100
-56
0
11
12
99

按预期方式按字母顺序排序。

请参阅https://glot.io/snippets/e555jjumx6

答案 1 :(得分:4)

排序希望被要求按数字排序(否则它将默认为lexigraphic排序)

$ sort -n numbers.dat
-100
-56
-10
0
11
12
99

注意“-n”参数(参见manual

答案 2 :(得分:1)

使用sort -n使sort进行数字排序,而不是按字母顺序

答案 3 :(得分:0)

这是因为默认情况下,sort是按字母顺序排列的,而不是数字的。 sort -n确实有数字。

否则你会得到

 1
 10
 2 
 3 

等。