這樣的關(guān)聯(lián)數(shù)組求和問(wèn)題,到最后的順序是會(huì)改變的。因?yàn)?awk 為了能夠代碼執(zhí)行效率,數(shù)組會(huì)以哈希表的形式放在內(nèi)存中,于是象 sum 這樣的數(shù)組中的鍵 i 不會(huì)按照你給的原來(lái)的順序。
hehe,where, where...作者: hfzheng 時(shí)間: 2003-01-20 10:15 標(biāo)題: 搜索文件中相同字段行,并進(jìn)行處理,如何做? if ( $1 in ind ) next
ind[$1]
key[n] = $1
n++
能不能幫忙解釋這段代碼的意思? ind代表什么?是不是index?作者: 紅袖添香 時(shí)間: 2003-01-20 19:58 標(biāo)題: 搜索文件中相同字段行,并進(jìn)行處理,如何做? ...
我想這個(gè)應(yīng)該很好理解吧~
ind 表示 index, 因?yàn)?index 是 awk 的保留字,所以就用了這個(gè)名字。
if ( $1 in ind ) next 表示 如果發(fā)現(xiàn) ind 這個(gè)數(shù)組中已經(jīng)有 $1 了,就跳過(guò),取下一個(gè)記錄。所以比如當(dāng)?shù)谝粰诘?次,第3次出現(xiàn)123時(shí),就不會(huì)歸到 ind 這個(gè)數(shù)組中去了。