awkの配列へのアクセス

estis2009/12/23 (水) 15:19 に投稿

awkの配列を使う場合よくやるのは、

awk '/2009:22/{FROM[$1]++}END{for(i in FROM)print i"\t"FROM[i]}' /var/log/httpd/access_log | sort -k2 -nr | head -10

とかですが、
配列のキーになるものがわかっている場合は、

ARRAY[KEY]

でアクセスできるわけですが、KEYが文字列だと、awkは変数扱いするので意図通りになりません。
なので、

ARRAY["KEY"]

と、ダブル・クォーテーション「"」で括る必要があります。