[問題] awk查詢access.log問題

看板Linux作者 (Fu)時間4年前 (2019/09/04 22:02), 4年前編輯推噓2(202)
留言4則, 3人參與, 4年前最新討論串1/2 (看更多)
大家好,小弟有個問題想請教,因為想直接查詢出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://www.ptt.cc/bbs/Linux/M.1567605720.A.507.html

09/05 00:39, 4年前 , 1F
沒有寫入陣列,是用 $1 當陣列的 index, 宣告一個陣
09/05 00:39, 1F

09/05 00:39, 4年前 , 2F
列單元,沒有賦予值。最後印出所有陣列的 index
09/05 00:39, 2F
感謝指教

09/05 02:45, 4年前 , 3F
好的,會再研究一下

09/05 09:05, 4年前 , 4F
原來嘗試取值就會宣告了
09/05 09:05, 4F
所以{tmp[$1]}這個過程為嘗試取值嗎? ※ 編輯: angle065 (211.23.21.38 臺灣), 09/05/2019 15:35:15
文章代碼(AID): #1TRyFOK7 (Linux)
文章代碼(AID): #1TRyFOK7 (Linux)