数组 – asort(src,dest)到多维数组
| 
                         我试图滥用asort()(只是因为)将数组src复制到数组dest,没问题: $awk 'BEGIN {
    split("first;second;third",src,";") # make src array for testing
    asort(src,dest,"@ind_num_asc")    # copy array to dest
    for(i in dest) 
        print i,src[i],dest[i]        # output
}'
1 first first
2 second second
3 third third 
 但有没有办法使用多维数组作为dest数组?就像是: asort(src,dest [src [1]],“@ ind_num_asc”)#或dest [src [1]] [] (前者产生的第二个参数不是数组,后面的语法错误 当然我可以使用for循环,但我的大脑仍然坚持测试这个解决方案. 解决方法你只需要在dest [src [1]]下创建一个数组,所以gawk知道dest [src [1]]是一个数组数组而不是默认的字符串数组:$cat tst.awk
BEGIN {
    split("first;second;third",/;/) # make src array for testing
    asort(src,dest1d)              # copy array to dest1d
    for(i in dest1d)
        print i,dest1d[i]      # output
    print ""
    dest2d[src[1]][1]
    asort(src,dest2d[src[1]])          # copy array to dest2d
    for(i in dest2d)
        for (j in dest2d[i])
            print i,j,dest2d[i][j]    # output
}
$gawk -f tst.awk
1 first first
2 second second
3 third third
first 1 first
first 2 second
first 3 third 
 你给初始子数组的索引并不重要,因为它会被asort()删除.请参阅https://www.gnu.org/software/gawk/manual/gawk.html#Arrays-of-Arrays下的最后一个示例: 
 (编辑:91站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  

