使用sort with space作为字段分隔符

时间:2016-02-14 13:17:16

标签: bash sorting

我尝试使用IMqttActionListener命令对以空格分隔的字符串中的整数进行排序。例如sort。我在标准输出上收到字符串。我尝试了所有这些,但没有任何作用:

8 6 5 7 9 56 -20 - 10

2 个答案:

答案 0 :(得分:1)

您可以先将字符串读入数组,并将空格作为分隔符,然后将sort与进程替换一起使用:

s='8 6 5 7 9 56 -20 - 10'
read -ra arr <<< "$s"
sort -n <(printf "%s\n" "${arr[@]}")

<强>输出:

-20
-10
5
6
7
8
9
56

再次以字符串形式存储输出:

read -r str < <(sort -n <(printf "%s\n" "${arr[@]}") | tr '\n' ' ')

并检查输出:

declare -p str
declare -- str="-20 -10 5 6 7 8 9 56"

答案 1 :(得分:1)

scanf_s("%d",&k);

排序只能对行进行排序。