有统计访问用户地理位置的需求,故通过对用户访问信息中ip地址的处理,来整理出用户ip地址和地理位置
文件格式如下:
1555315829.907 ad170ef2-35bf-11e9-906b-286ed488c99f [2019-04-15T16:10:29+08:00] elb 49.69.197.165:64361
1555315830.429 ad170ef2-35bf-11e9-906b-286ed488c99f [2019-04-15T16:10:30+08:00] elb 14.30.43.217:12104
由于可从ip地址查找出地理位置信息,所以先对ip地址数据进行整理,主要的操作有去重和排序。
#!/bin/bash
path=$1;
gzip -d $path/*;
files=$(ls $path);
source_file="filename";
ans_file="filename";
for filename in $files
do
cat $filename >> $source_file;
done
cat $source_file |awk '{print $5}'|awk -F ':' '{print $1}'|sort -g|uniq > $save_file;
得到整理好的ip地址数据后,就需要查找到它们一一对应的地理位置。
我了解到的有以下几种方法:
(1)whois 命令工具
whois 119.26.15.14