对数组进行排序
与电子表格一样,通常需要对一列数据中的值进行排序。 shell 没有直接的方法来做到这一点,但是通过一点编码来做到这一点并不难:
#!/斌/庆典
# 数组排序:对数组进行排序 a=(fedcba)
echo "原始数组:${a[@]}"
a_sorted=($(for i in "${a[@]}"; do echo $i; done | sort)) echo "Sorted array: ${a_sorted[@]}"
#!/斌/庆典
# 数组排序:对数组进行排序 a=(fedcba)
echo "原始数组:${a[@]}"
a_sorted=($(for i in "${a[@]}"; do echo $i; done | sort)) echo "Sorted array: ${a_sorted[@]}"
执行时,脚本会生成以下内容:
[我@linuxbox ~]$ 数组排序 原始数组:fedcba 排序数组:abcdef
[我@linuxbox ~]$ 数组排序 原始数组:fedcba 排序数组:abcdef
该脚本通过复制原始数组(a) 到第二个数组 (已排序) 带有一个棘手的命令替换。 这种基本技术可以通过改变流水线的设计来对数组执行多种操作。