想知道這是否可以在AWK中執行一段時間,但總是在過去解決它。將數組元素替換爲正則表達式語句/變量名稱
下面我初始化一個數組與3個月的一年...爲了可讀性我ommited其他9個月。這些月份在if語句中用作正則表達式的一部分,但AWK不喜歡它。我似乎無法在awk/gawk手冊中找到關於這種語義的任何內容......我真的堅持重複相同的代碼12次嗎?也有可能在循環中使用arr [i]作爲變量名的子字符串?我在下面編寫了僞代碼,以瞭解我正在努力完成的任務。我知道這是可行的在SNOBOL ;-)謝謝!
BEGIN {
arr[0] = "AUG"
arr[1] = "SEP"
arr[2] = "OCT"
}
{
for(i in arr)
{
if($1 ~ /arr[i]/)
{
#Controls flows into here if $1 matches AUG, SEP, OCT
#Furthermore, pretend I want to intialize a variable like AUGseen:
arr[i]seen = 1
}
}
}
如果這些東西中的任何一個都可行,我非常感謝指針!
您不想創建像「AUGseen」這樣的變量 - 動態變量名稱很討厭。你也應該使用一個數組:'seen [arr [i]] = 1' – 2010-08-24 20:02:07