作者angle065 (Fu)
看板Linux
標題[問題] awk查詢access.log問題
時間Wed Sep 4 22:01:58 2019
大家好,小弟有個問題想請教,因為想直接查詢出access.log不重複的ip
查到可以利用這個指令去查
awk '{tmp[$1]} END {for (i in tmp) print i}' access.log
這邊有個比較不理解的地方想請教各位大大
其中的 {tmp[$1]} 這個部分,我理解是把每一行的 第一組文字
寫入到tmp這個陣列變數中,接著再利用for迴圈去呈現重複的文字
也確實是讓我取得所有不重複的IP
想請教這個觀念是對的嗎?
那想請問tmp[$1],這個是哪一種語言寫入陣列的方式呢?
因為我稍微略懂一點PHP、JS,這樣的做法通常是塞給陣列/物件,索引值再用的
應該不是寫入陣列
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.209.42 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Linux/M.1567605720.A.507.html
1F:推 rickieyang: 沒有寫入陣列,是用 $1 當陣列的 index, 宣告一個陣 09/05 00:39
2F:→ rickieyang: 列單元,沒有賦予值。最後印出所有陣列的 index 09/05 00:39
感謝指教
好的,會再研究一下
4F:推 Gold740716: 原來嘗試取值就會宣告了 09/05 09:05
所以{tmp[$1]}這個過程為嘗試取值嗎?
※ 編輯: angle065 (211.23.21.38 臺灣), 09/05/2019 15:35:15