看板 Linux 關於我們 聯絡資訊
大家好,小弟有個問題想請教,因為想直接查詢出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
rickieyang: 沒有寫入陣列,是用 $1 當陣列的 index, 宣告一個陣 09/05 00:39
rickieyang: 列單元,沒有賦予值。最後印出所有陣列的 index 09/05 00:39
感謝指教
xam: http://tw.gitbook.net/awk/awk_basic_syntax.html 隨便找的 09/05 02:45
好的,會再研究一下
Gold740716: 原來嘗試取值就會宣告了 09/05 09:05
所以{tmp[$1]}這個過程為嘗試取值嗎? ※ 編輯: angle065 (211.23.21.38 臺灣), 09/05/2019 15:35:15