我的脚本包含如下代码,我正在读取一个文件,对于每一行,我将在该行上获取4列值,并形成一个键,如key = col1-col3-col5-col7
,我想将其插入到我的hashmap作为键和值为1。
i.e declare -A arr
((arr[$key]++))
下面是我的代码:声明-A哈希
GetReport () {
`cat sample.txt | grep -v Orig |awk '
BEGIN{ FS="|"; OFS="," }
{
hk=$1"-"$3"-"$5"-"$7
((hash[$hk]++))
}'`
我无法将这个键插入到我的hashArray中,是否知道如何在awk中写入数组,以便我可以对数组进行全局访问,并且我可以处理来自不同方法的数据
一种选择是在awk中打印数组生成,并重定向回源代码以创建实际的数组。
在重定向到源文件之前,首先运行awk命令来验证数组条目是否按预期创建。
source <(awk '
BEGIN{
FS="|"; OFS=","
print "declare -A hash"
}
!/Orig/{
hk=$1"-"$3"-"$5"-"$7;
print "(( hash[""hk""]++ ))"
}' sample.txt)