使用Linux/Bash对空格分隔数字进行排序

syk*_*ker 17 linux bash

是否有Linux实用程序或Bash命令可用于对空格分隔的数字字符串进行排序?

Jam*_*ris 34

这是一个让你前进的简单例子:

echo "81 4 6 12 3 0" | tr " " "\n" | sort -g

tr将分隔数字的空格转换为回车符,因为sort使用回车符作为分隔符(即用于排序文本).该-g选项告诉sort按"一般数值"排序.

man sort有关的更多详细信息sort.

  • 我附加了另一个`| tr`参数反转,以空格分隔的字符串退出. (5认同)

Fra*_*kel 8

这是@JamesMorris回答的变种:

echo "81 4 6 12 3 0" | xargs -n1 | sort -g | xargs
Run Code Online (Sandbox Code Playgroud)

而不是tr,我xargs -n1用来转换为新的线条.最后xargs是转换回空格分隔的数字序列.