你好,我正在尝试对一组数字命令行参数进行排序,然后在同一行上以相反的数字顺序回显它们,每个参数之间有一个空格。我有这个循环:
for var in "$@"
do
echo -n "$var "
done | sort -rn
但是,当我将 -n
添加到 echo 时,sort
命令停止工作。我试图在不使用 printf
的情况下执行此操作。使用 echo -n
它们不会排序,只是按照输入的顺序打印。
最佳答案
你可以这样做:
a=( $@ )
b=( $(printf "%s\n" ${a[@]} | sort -rn) )
printf "%s\n" ${b[@]}
# b is reverse sorted nuemrically now
关于bash - 在同一行 Bash 上排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19274695/