zoukankan      html  css  js  c++  java
  • 在压缩话单中过滤指定IP的一个小脚本

    工作需要,需要过滤出含有指定的IP段的话单,编写的脚本名字叫 filter.sh

    #!/bin/bash

    TARGET_PATH=/data/flume/flume_exec_log/Dst_for_flume.txt   此处直接写绝对路径的指定输出文件

    PATTERN1="133.23.10[123456]."              此处为过滤的字段,因为话单中肯定是包含IP的,所以最后边的匹配0~255没有写
    PATTERN2="133.23.8[0-9]."
    PATTERN3="133.45.9[01]."
    PATTERN4="19.12.15.18[34]."
    PATTERN4="19.124.0."

    if [ ! $# -eq 1 ];then
    echo "$0 <file-path>"
    exit 1
    fi

    grep -e $PATTERN1 -e $PATTERN2 -e $PATTERN3 -e $PATTERN4 $1 >> ${TARGET_PATH}

    ---------------

    以上是第一版本

    因为现场是生成的压缩话单,需要在当天生成的压缩话单中提取出需要的话单文件,生成指定的文件。

    -----最终的版本为:

    #!/bin/bash

    TARGET_PATH=/data/flume/flume_exec_log/Dst_for_flume.txt

    PATTERN1="132.35.10[123456]."
    PATTERN2="132.35.8[0-9]."
    PATTERN3="132.35.9[01]."
    PATTERN4="10.1.1.18[34]."
    PATTERN4="10.124.0."

    zcat 2017051915*.gz | zgrep -e $PATTERN1 -e $PATTERN2 -e $PATTERN3 -e $PATTERN4 $1 >> ${TARGET_PATH}

    -------

    以上生成的文件,直接在生成压缩话单的路径下运行,之后打开另一个窗口,tail -f /data/flume/flume_exec_log/Dst_for_flume.txt 观察提取进度,,,,最后得到所需话单.

  • 相关阅读:
    ASP.NET Core
    ASP.NET Core
    ASP.NET Core
    ASP.NET Core
    通用查询设计思想(2)- 基于ADO.Net的设计
    API接口通讯参数规范(2)
    Centos7 安装selenium(python3.7 centos7 )
    mysql (create temporary table table_name )临时表创建
    C# 字符串 String、StringBuffer和StringBuilder的区别
    安装Elasticsearch
  • 原文地址:https://www.cnblogs.com/the-tops/p/6879751.html
Copyright © 2011-2022 走看看