在awk中删除数组的下标/索引

3
我使用awk的将值存储为数组下标/索引的概念。请查看以下代码:
stringVariable="hi,bye,cool.hot,how,see";
split(stringVariable,stringArray,",");

#This loop will iterate and stores the RIDs in the requestIds variable into an array
for(tr=1;tr<=length(stringArray);tr++)
{
Count++;
    referenceIdArray[stringArray[tr]]++;
}

在我的referenceId数组中,我会有hi,bye,cool,hot,how,see。

让我考虑一个具有以下值的示例文件

hi
bye
gone

我的目标是从文件中获取值,并与之前声明的数组进行匹配,如果任何一个值匹配,则从文件中打印该值。
awk script

awk '{BEGIN (Array loading done previously)} {if($0 in referenceIdArray) {print $0}}'

这样做可以得到所需的结果。但是假设"hi"只会在数组中出现一次,因此当操作块找到该值时,应该打印该值以及数组中相应的条目referenceIdArray["hi"]也应被删除,以使搜索更有效率。由于它们以下标形式存储,我不确定如何删除条目。有关此方面的任何建议都将不胜感激。谢谢。

1个回答

7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接