在shell脚本中使用asorti函数

时间:2014-01-16 18:46:27

标签: shell awk sh

我不知道如何在shell脚本语言中使用asorti函数,我尝试了以下命令:

n= gawk `asorti($array)`
n= awk `asorti(array)`
n= gawk `asorti($array)`

但它们都不起作用!!

2 个答案:

答案 0 :(得分:1)

asorti()是(g)awk的函数,而不是shell的函数。

也许你想:

n=`awk '{...asorti(array)...print....}' input`
then use $n

请阅读awk手册页!

请阅读一些shell脚本手册!

答案 1 :(得分:1)

假设您只想显示已排序的数组,请使用sort:given

declare -A arr=( [foo]=bar [baz]=qux )

按数组索引排序

for idx in "${!arr[@]}"; do echo "$idx:${arr[$idx]}"; done | sort -t: -k1,1
baz:qux
foo:bar

按数组值排序

for idx in "${!arr[@]}"; do echo "$idx:${arr[$idx]}"; done | sort -t: -k2
foo:bar
baz:qux