在bash中按列排序哈希

时间:2018-01-27 22:55:58

标签: bash sorting printf

我有一个关联数组,我打印出来并排序,但sort命令正在做一些有趣的事情。

for i in "${!hash[@]}"; do
    printf "%'d %s\n" "${hash[$i]}" "$i"
done | sort -rn -k1

它应该按第一列中的整数排序,而是按第一个数字排序。输出示例:

505 root
2 games
1 bin
17 adm
1,325 mail

如何按整数而不是第一个数字进行排序?

1 个答案:

答案 0 :(得分:1)

替换

sort -rn -k1

LC_ALL=en_US.UTF-8 sort -rn