https://www.space.ntu.edu.tw/navigate/s/169EE84AFE094594B31CA1F7ADDEDE1DQQY
上面是我的LOG取出有問題的部分,
我想抓出source的IP的前2碼然後sort + uniq計算次數
所以我用
grep 'SRC=[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*' \
/tmp/test.txt|sed 's/^.*SRC=//g'|awk '{FS="."} {print $1"."$2}'|sort|uniq -c
結果跑出的是
2 62.210
1 62.210.12.127.DST=10.2.7.1
後來我往前回推
grep 'SRC=[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*' \
/tmp/test.txt|sed 's/^.*SRC=//g'|awk '{FS="."} {print $1}'
62.210.12.127
62
62
grep 'SRC=[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*'
/tmp/test.txt|sed 's/^.*SRC=//g'
62.210.12.127 DST=10.2.7.1 LEN=40 TOS=0x00 PREC=0x00 TTL=240 I...
62.210.12.127 DST=10.2.7.1 LEN=40 TOS=0x00 PREC=0x00 TTL=240 I...
62.210.12.127 DST=10.2.7.1 LEN=40 TOS=0x00 PREC=0x00 TTL=240 I...
看起來awk無法把其中一筆的分隔給判斷好,但是問題在於IP用"."
分隔沒錯啊!請問是哪裡有問題?