Linux:GNU排序不排序seq

Lir*_*una 1 sorting bash gnu-sort

标题总结了它.

$ echo `seq 0 10` `seq 5 15` | sort -n
0 1 2 3 4 5 6 7 8 9 10 5 6 7 8 9 10 11 12 13 14 15
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?

即使我不使用seq:

echo '0 1 2 3 4 5 6 7 8 9 10 5 6 7 8 9 10 11 12 13 14 15' | sort -n
0 1 2 3 4 5 6 7 8 9 10 5 6 7 8 9 10 11 12 13 14 15
Run Code Online (Sandbox Code Playgroud)

甚至echo直接抛弃:

$ echo '0 1 2 3 4 5 6 7 8 9 10 5 6 7 8 9 10 11 12 13 14 15' > numbers
$ sort -n numbers 
0 1 2 3 4 5 6 7 8 9 10 5 6 7 8 9 10 11 12 13 14 15
Run Code Online (Sandbox Code Playgroud)

Chr*_*utz 10

sort(1)排序线.您必须自己解析以空格分隔的数据:

echo `seq 0 10` `seq 5 15` | tr " " "\n" | sort -n
Run Code Online (Sandbox Code Playgroud)


Dir*_*tel 9

因为您需要新行sort:

$ echo `seq 0 10` `seq 5 15` | tr " " "\\n" | sort -n | tr "\\n" " "; echo ""
0 1 2 3 4 5 5 6 6 7 7 8 8 9 9 10 10 11 12 13 14 15
$
Run Code Online (Sandbox Code Playgroud)


Kam*_*zot 5

你有一行输入.没有什么可以排序的.

  • 嗯,从技术上来说,有*东西要排序,但它很简单而且速度非常快:-) (3认同)