代码: 全选
#!/bin/sh
awk -v NUM=$1 -v TOPNUM=$2 '
BEGIN{
function sort(ARRAY,ELEMENTS,temp,i,j) {
for(i=2;i<=ELEMENTS;++i) {
for(j=i;(j-1) in ARRAY && ARRAY[j-1] > ARRAY[j];--j) {
temp=ARRAY[j]
ARRAY[j]=ARRAY[j-1]
ARRAY[j-1]=temp
}
}
}
if(NUM <= 0)
NUM=6
if(TOPNUM <= 0)
TOPNUM=30
srand()
printf ("pick %d of %d\n",NUM,TOPNUM)
for(x=1;x<=NUM;x++){
do {
select = 1 + int(rand() * TOPNUM)
} while (select in pick)
pick[select]=select
}
sort(pick, NUM)
for(j=1;j<NUM;++j)
printf("%d ",pick[j])
printf("\n")
}'
awk: 命令行:2: ^ syntax error
语法错误,我把自定义函数放在BEGIN外面,不报错,但是运行脚本没有随机选号的功能里,都是0.。大家帮我看看是函数定义错了,还是我调用函数不正确阿?