gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 10:05:11 28 4
gpt4 key购买 nike

我使用 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”在数组中只出现一次,因此当操作 block 找到该值时,应该打印该值,并且数组中的相应条目 referenceIdArray["hi"] 也应该被删除为了使搜索高效。由于它们存储为下标,因此我不确定如何删除该条目。关于这个的任何建议。谢谢。

最佳答案

您可以使用 delete 语句删除数组的单个元素:

delete array[index]

引用:http://www.math.utah.edu/docs/info/gawk_12.html

关于shell - 在awk中删除数组的下标/索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11717589/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com