原日志文件:logger.log  内容:

{"peer":"kts_001","type":"http","date":"2023-06-14 14:42:30","content":{"ip":"192.168.6.177","method":"GET","uri":"\/kts\/nts\/info","body":"","httpCode":200,"respond":"{\"code\":0,\"msg\":\"成功\",\"result\":{\"type\":1,\"utc\":1686724950400374,\"ltc\":1686724950404128,\"gpsStatus\":1,\"cdmaStatus\":0,\"ktMode\":6,\"ktStatus\":1,\"ftMode\":1,\"gpsEnable\":1,\"cdmaEnable\":0}}"}}
{"peer":"kts_001","type":"http","date":"2023-06-14 14:42:30","content":{"ip":"192.168.6.177","method":"GET","uri":"\/kts\/nts\/info","body":"","httpCode":200,"respond":"{\"code\":0,\"msg\":\"成功\",\"result\":{\"type\":1,\"utc\":1686724950511202,\"ltc\":1686724950514957,\"gpsStatus\":1,\"cdmaStatus\":0,\"ktMode\":6,\"ktStatus\":1,\"ftMode\":1,\"gpsEnable\":1,\"cdmaEnable\":0}}"}}
{"peer":"kts_001","type":"ntp","date":"2023-06-14 14:42:30","content":{"clientIp":"192.168.6.177","clientPort":45189,"referenceId":5460039,"rootDispersion":76,"referenceTimestamp":1686724857229845,"originatorTimestamp":1686724952319001,"receiveTimestamp":1686724950601704,"transmitTimestamp":1686724950601921}}
{"peer":"kts_001","type":"http","date":"2023-06-14 14:42:30","content":{"ip":"192.168.6.177","method":"GET","uri":"\/kts\/nts\/info","body":"","httpCode":200,"respond":"{\"code\":0,\"msg\":\"成功\",\"result\":{\"type\":1,\"utc\":1686724950604910,\"ltc\":1686724950608664,\"gpsStatus\":1,\"cdmaStatus\":0,\"ktMode\":6,\"ktStatus\":1,\"ftMode\":1,\"gpsEnable\":1,\"cdmaEnable\":0}}"}}
{"peer":"kts_001","type":"ntp","date":"2023-06-14 14:42:30","content":{"clientIp":"192.168.6.177","clientPort":37480,"referenceId":5460039,"rootDispersion":76,"referenceTimestamp":1686724857229845,"originatorTimestamp":1686724952416000,"receiveTimestamp":1686724950698109,"transmitTimestamp":1686724950698350}}
{"peer":"kts_001","type":"http","date":"2023-06-14 14:42:30","content":{"ip":"192.168.6.177","method":"GET","uri":"\/kts\/nts\/info","body":"","httpCode":200,"respond":"{\"code\":0,\"msg\":\"成功\",\"result\":{\"type\":1,\"utc\":1686724950700964,\"ltc\":1686724950704719,\"gpsStatus\":1,\"cdmaStatus\":0,\"ktMode\":6,\"ktStatus\":1,\"ftMode\":1,\"gpsEnable\":1,\"cdmaEnable\":0}}"}}
{"peer":"kts_001","type":"http","date":"2023-06-14 14:42:30","content":{"ip":"192.168.6.177","method":"GET","uri":"\/kts\/satellite\/info","body":"","httpCode":200,"respond":"{\"code\":0,\"msg\":\"成功\",\"result\":{\"gpsInviewCount\":13,\"bdInviewCount\":11,\"gpsInuseCount\":12,\"bdInuseCount\":13,\"latitude\":4001.4611799999998,\"latitudeHemisphere\":78,\"longitude\":11625.88177,\"longitudeHemisphere\":69,\"gpsSatelliteList\":[{\"id\":4,\"angleElevation\":6,\"angleAzimuth\":33,\"nsRatio\":35},{\"id\":5,\"angleElevation\":42,\"angleAzimuth\":245,\"nsRatio\":42},{\"id\":6,\"angleElevation\":44,\"angleAzimuth\":81,\"nsRatio\":42},{\"id\":9,\"angleElevation\":29,\"angleAzimuth\":53,\"nsRatio\":39},{\"id\":11,\"angleElevation\":70,\"angleAzimuth\":353,\"nsRatio\":44},{\"id\":12,\"angleElevation\":25,\"angleAzimuth\":248,\"nsRatio\":38},{\"id\":17,\"angleElevation\":7,\"angleAzimuth\":147,\"nsRatio\":21},{\"id\":19,\"angleElevation\":25,\"angleAzimuth\":148,\"nsRatio\":39},{\"id\":20,\"angleElevation\":68,\"angleAzimuth\":270,\"nsRatio\":42},{\"id\":25,\"angleElevation\":19,\"angleAzimuth\":286,\"nsRatio\":36},{\"id\":29,\"angleElevation\":14,\"angleAzimuth\":318,\"nsRatio\":27},{\"id\":50,\"angleElevation\":42,\"angleAzimuth\":164,\"nsRatio\":37}],\"bdSatelliteList\":[{\"id\":1,\"angleElevation\":0,\"angleAzimuth\":0,\"nsRatio\":31},{\"id\":3,\"angleElevation\":0,\"angleAzimuth\":0,\"nsRatio\":27},{\"id\":4,\"angleElevation\":0,\"angleAzimuth\":0,\"nsRatio\":28},{\"id\":5,\"angleElevation\":0,\"angleAzimuth\":0,\"nsRatio\":28},{\"id\":6,\"angleElevation\":0,\"angleAzimuth\":0,\"nsRatio\":16},{\"id\":7,\"angleElevation\":0,\"angleAzimuth\":0,\"nsRatio\":15},{\"id\":8,\"angleElevation\":0,\"angleAzimuth\":0,\"nsRatio\":14},{\"id\":10,\"angleElevation\":0,\"angleAzimuth\":0,\"nsRatio\":16},{\"id\":11,\"angleElevation\":0,\"angleAzimuth\":0,\"nsRatio\":15},{\"id\":12,\"angleElevation\":0,\"angleAzimuth\":0,\"nsRatio\":16},{\"id\":13,\"angleElevation\":0,\"angleAzimuth\":0,\"nsRatio\":13},{\"id\":14,\"angleElevation\":0,\"angleAzimuth\":0,\"nsRatio\":15},{\"id\":15,\"angleElevation\":0,\"angleAzimuth\":0,\"nsRatio\":22}]}}"}}
{"peer":"kts_001","type":"http","date":"2023-06-14 14:42:30","content":{"ip":"192.168.6.177","method":"GET","uri":"\/kts\/system\/role\/get","body":"","httpCode":200,"respond":"{\"code\":0,\"msg\":\"成功\",\"result\":{\"timeSrc\":\"GPS\",\"level\":1,\"isOK\":true}}"}}
{"peer":"kts_001","type":"http","date":"2023-06-14 14:42:30","content":{"ip":"192.168.6.177","method":"GET","uri":"\/kts\/nts\/info","body":"","httpCode":200,"respond":"{\"code\":0,\"msg\":\"成功\",\"result\":{\"type\":1,\"utc\":1686724950708567,\"ltc\":1686724950712321,\"gpsStatus\":1,\"cdmaStatus\":0,\"ktMode\":6,\"ktStatus\":1,\"ftMode\":1,\"gpsEnable\":1,\"cdmaEnable\":0}}"}}
{"peer":"kts_001","type":"http","date":"2023-06-14 14:42:33","content":{"ip":"127.0.0.1","method":"GET","uri":"\/kts\/nts\/version","body":"","httpCode":200,"respond":"3.1.7"}}
{"peer":"kts_001","type":"http","date":"2023-06-14 14:42:38","content":{"ip":"127.0.0.1","method":"GET","uri":"\/kts\/nts\/version","body":"","httpCode":200,"respond":"3.1.7"}}
.....

提取所有type为ntp的日志

cat /tmp/logger.log |grep ntp > ntp.log

得到一个ntp.log文件

{"peer":"kts_001","type":"ntp","date":"2023-06-14 14:42:30","content":{"clientIp":"192.168.6.177","clientPort":45189,"referenceId":5460039,"rootDispersion":76,"referenceTimestamp":1686724857229845,"originatorTimestamp":1686724952319001,"receiveTimestamp":1686724950601704,"transmitTimestamp":1686724950601921}}
{"peer":"kts_001","type":"ntp","date":"2023-06-14 14:42:30","content":{"clientIp":"192.168.6.177","clientPort":37480,"referenceId":5460039,"rootDispersion":76,"referenceTimestamp":1686724857229845,"originatorTimestamp":1686724952416000,"receiveTimestamp":1686724950698109,"transmitTimestamp":1686724950698350}}
......

提取IP地址并根据IP去重

cat ntp.log |grep -o '\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}'|sort -d | uniq  >> ip.txt

得到一个ip.txt文件,里面是所有去重过的ip地址。

Linux提取日志中的IP地址并去重的更多相关文章

  1. logresolve - 解析Apache日志中的IP地址为主机名

    logresolve是一个解析Apache访问日志中IP地址的后处理程序. 为了使对名称服务器的影响降到最低,logresolve拥有极为自主的内部散列表缓存, 使每个IP值仅仅在第一次从日志文件中读 ...

  2. Java正则表达式提取String字符串中的IP地址

    /** * 正则提前字符串中的IP地址 * @param ipString * @return */ public static List<String> getIps(String ip ...

  3. Python统计日志中每个IP出现次数

    介绍了Python统计日志中每个IP出现次数的方法,实例分析了Python基于正则表达式解析日志文件的相关技巧,需要的朋友可以参考下 本脚本可用于多种日志类型 #-*- coding:utf-8 -* ...

  4. Linux环境下如何配置IP地址、MAC地址

    Linux环境下如何配置IP地址.MAC地址 1.配置IP地址 进入配置IP地址路径,进行修改即可 cd /etc/network vim interface 加入以下内容: iface eth0 i ...

  5. Linux系统下如何设置IP地址?

    Linux系统下如何设置IP地址?我们可以通过命令设定IP的方法,不过此方法的前提条件是用户需root权限.在linux系统的 /etc/sysconfig/network-script/ifcfg- ...

  6. 配置日志中显示IP

    package com.demo.conf; import ch.qos.logback.classic.pattern.ClassicConverter; import ch.qos.logback ...

  7. Linux下获取本机IP地址的代码

    Linux下获取本机IP地址的代码,返回值即为互联网标准点分格式的字符串. #define ETH_NAME "eth0" //获得本机IP地址 char* GetLocalAdd ...

  8. linux(Ubuntu/Centos) iproute 路由IP地址等命令集合,查看端口链接

    原 linux(Ubuntu/Centos) iproute 路由IP地址等命令集合,查看端口链接 2017年03月20日 16:55:57 风来了- 阅读数:2291 标签: centoslinux ...

  9. PHP提取字符串中的图片地址

    PHP提取字符串中的图片地址 $str='<p><img border="0" src="upfiles/2009/07/1246430143_1.jp ...

  10. ubuntu中配置ip地址和上网配置

    ubuntu中的ip地址配置: 基于NAT模式: 如果能正常连接ip,但不能ping动www.baidu.com的话,我们需要在配置文件中配置主机上网的DNS地址,如下: 如果上面图片上的DNS se ...

随机推荐

  1. Codeforce:131A. cAPS lOCK

    原题链接 ╮(╯▽╰)╭这题题目一开始没看明白,导致wa几次.如果全是大写或者出了首字母是小写其他为大写,则转换为第一个字母大写,其他的小写 ,如果不是以上两种情况则不作处理. ╮(╯▽╰)╭水题还错 ...

  2. 「HDU-2196」Computer (树形DP、树的直径)

    「HDU-2196」Computer 树形dp,树的最长路径(最远点对) 题意 给出一棵nn个结点的无根树,求出每个结点所能到达的最远点的距离. 解法 将无根树转成有根树,并进行两次DFS. 第一次D ...

  3. oracle开机自动重启

    数据库服务器如果由于某种原因重启了,oracle数据库是不会重新启动的,那么如何配置可以完成操作系统重启数据库服务器自动重启. 注:如下样例根据我的实际oracle安装路径写的,使用时根据实际安装路径 ...

  4. Windows 平台 UTF-8 编码转换为本机编码

    std::string from_utf8(const std::string& src) { int n = MultiByteToWideChar(CP_UTF8, 0, src.c_st ...

  5. 机器学习-线性分类-支持向量机SVM-软间隔-核函数-13

    目录 1. 总结 SVM 2. 软间隔svm 4. 核函数 1. 总结 SVM SVM算法的基础是感知器模型, 感知器模型 与 逻辑回归的不同之处? 逻辑回归 sigmoid(θx) 映射到 0-1之 ...

  6. 第65篇 AJAX初识 校验用户名 登录示例 文件上传 csrftoken

    1, 知识储备 2. AJAX的定义 异步的JavaScript和XML 使用场景: JavaScript和后端的数据传递 2.1原生的JavaScript实现AJAX 2.2 JQuery实现 2. ...

  7. MyBatis 系列:MyBatis 源码环境搭建

    目录 一.环境准备 二.下载 MyBatis 源码和 MyBatis-Parent 源码 三.创建空项目.导入项目 四.编译 mybatis-parent 五.编译 mybatis 六.测试 总结 一 ...

  8. 项目使用 GlobalExceptionHandler 与 @RestControllerAdvice自定义异常 二

    未经博主允许不得转载: 自定义异常,不仅需要定义符合自己业务的异常状态码,也需要定义自己项目中的异常封装.记录下自己手敲代码中的异常封装: 1.定义一个枚举类,枚举类中定义状态码及状态码描述,再定义一 ...

  9. spring--CGLIB动态代理的实现原理

    CGLIB(Code Generation Library)是一个强大的.高性能.高质量的代码生成库,它可以在运行时扩展 Java 类和实现 Java 接口.CGLIB 动态代理是基于继承的方式来实现 ...

  10. STM32CubeMX教程21 CAN - 双机通信

    1.准备材料 开发板(正点原子stm32f407探索者开发板V2.4) STM32CubeMX软件(Version 6.10.0) 野火DAP仿真器 keil µVision5 IDE(MDK-Arm ...