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用"."
分隔没错啊!请问是哪里有问题?