如何在没有循环到ksh arrary的情况下返回awk中split函数的所有元素?

时间:2015-10-02 14:14:57

标签: arrays function split return ksh

关于我需要从数组拆分函数返回所有元素而没有循环,但我不知道它是sintyaxis,我认为:

#!/bin/ksh
set -a MyArray
echo 'hello world' | awk '{
    split($0, arrSplit) 
    print arrSplit[all elements]
}'
有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

如果你想在ksh中设置一个数组,你只需要

set -A myArray hello world
echo "${myArray[0]}"    # => hello

在awk中,split函数返回生成的元素数。要遍历数组,您需要此值

awk '
    BEGIN {
        n = split("this is a string that I want to split into words", ary)
        for (i = 1; i <= n; i++) {
            print i, ary[i]
        }
    }
'

编程有三件事情很难:给出好的名字和一个一个错误。