传递shell脚本中的数组给awk

实际中遇到了,就按自己的方法写了,这里只展示其中相关的一部分

#获取数组的长度

ARRAY_LEN="`wc -l temp2 | awk '{print $1}'`"

TEMP_INDEX=0

declare -a ARRAY_DATE

#为shell中的数组赋值

for i in $(cat temp2);do

        ARRAY_DATE[TEMP_INDEX++]=$i

done

 

#for((ix=0;ix<$ARRAY_LEN;ix++));do 

#       echo ${ARRAY_DATE[ix]}

#done

#将shell数组中所有内容传递给awk

awk -v STRING="${ARRAY_DATE[*]}" 'BEGIN{ 

#分割STRING,使其还原成和shell数组内容一样

        LEN=split(STRING,DATE)

#后面就可以做自己想要的处理了

。。。。。

 

总结:将脚本中的数组取所有值作为一个变量值付给awk变量,利用split分割还原回来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值