awk查詢access.log問題 - Linux

Table of Contents


大家好,小弟有個問題想請教,因為想直接查詢出access.log不重複的ip

查到可以利用這個指令去查

awk '{tmp[$1]} END {for (i in tmp) print i}' access.log

這邊有個比較不理解的地方想請教各位大大

其中的 {tmp[$1]} 這個部分,我理解是把每一行的 第一組文字

寫入到tmp這個陣列變數中,接著再利用for迴圈去呈現重複的文字

也確實是讓我取得所有不重複的IP


想請教這個觀念是對的嗎?

那想請問tmp[$1],這個是哪一種語言寫入陣列的方式呢?

因為我稍微略懂一點PHP、JS,這樣的做法通常是塞給陣列/物件,索引值再用的

應該不是寫入陣列

--

All Comments

Vanessa avatarVanessa2019-09-05
沒有寫入陣列,是用 $1 當陣列的 index, 宣告一個陣
列單元,沒有賦予值。最後印出所有陣列的 index
Jacky avatarJacky2019-09-13
原來嘗試取值就會宣告了