从AWK插入到全局数组



我的脚本包含如下代码,我正在读取一个文件,对于每一行,我将在该行上获取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)

相关内容

  • 没有找到相关文章

最新更新