工作需要,需要过滤出含有指定的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 观察提取进度,,,,最后得到所需话单.

在压缩话单中过滤指定IP的一个小脚本的更多相关文章

  1. Linux系统下压缩文件时过滤指定的文件 |Linux系统压缩指定文件代码

    进入要压缩的目录: [root@iZ25c748tjqZ wechat]# cd /alidata1/htdocs/wechat/ 查看目录: [root@iZ25c748tjqZ wechat]# ...

  2. linux中利用iptables+geoip过滤指定IP

    1. 前提条件 iptables >= 1.4.5 kernel-devel >= 3.7 2.  安装依赖包  代码如下 复制代码 # yum install gcc gcc-c++ m ...

  3. windows过滤指定IP

    通过windows的安全管理策略工具我们可以实现对IP的过滤.整个过程比较复杂.我们以图形演示. 下面我们以windows 8.1作为示例. 1.控制面板=>管理工具=>本地安全策略. 2 ...

  4. 获取本机IP地址的小脚本

    获取本机私网地址(1个) #!/bin/bash # Author : standby # Date : -- # Description : Get private ip address of lo ...

  5. Wireshark抓包笔录--之指定IP地址筛选捕获结果

    Wireshark安装 1.去官网下载相应的安装包 地址如下:https://www.wireshark.org/ 2.安装步骤,一路next,需要同意的地方点同意 3.安装完成后打开软件,如下: W ...

  6. WIN2003使用IP安全策略只允许指定IP远程桌面连接

    一,新建IP安全策略 WIN+R打开运行对话框,输入gpedit.msc进入组策略编辑器. 依次打开“本地计算机”策略--计算机配置--Windows设置--安全设置--IP安全策略,在 本地计算机上 ...

  7. Nginx 拒绝指定IP访问

    来源 : http://www.ttlsa.com/nginx/nginx-deny-ip-access/   闲来无事,登陆服务器,发现有个IP不断的猜测路径.试图往服务器上传文件(木马).于是查看 ...

  8. Linux 下获取LAN中指定IP的网卡的MAC(物理地址)

    // all.h// 2005/06/20,a.m. wenxy #ifndef _ALL_H#define _ALL_H #include <memory.h>#include < ...

  9. QEMU-KVM自己主动创建虚拟机,以指定IP构造

    正在使用qemu不能指定创建虚拟机的过程IP住址,然而,在实际应用中,我们需要有一台虚拟机IP住址,不是人为的虚拟机操作系统配置. 于qemu虚拟机技术文档(http://qemu.weilnetz. ...

随机推荐

  1. fastText、TextCNN、TextRNN……这里有一套NLP文本分类深度学习方法库供你选择

    https://mp.weixin.qq.com/s/_xILvfEMx3URcB-5C8vfTw 这个库的目的是探索用深度学习进行NLP文本分类的方法. 它具有文本分类的各种基准模型,还支持多标签分 ...

  2. 在UTF-8中,一个汉字为什么需要三个字节?(转)

    http://www.cnblogs.com/web21/p/6092414.html UNICODE是万能编码,包含了所有符号的编码,它规定了所有符号在计算机底层的二进制的表示顺序.有关Unicod ...

  3. matlab中subplot函数的功能 类似python

    原文:http://blog.163.com/my_it_dream_pwj/blog/static/17841430520112294342649/ 和python 中类似 subplot 功能 分 ...

  4. [Docker] Driver Bridge network for linking containers

    In previous postwe have seen how to link two container together by using `--link`: # docker run -d - ...

  5. 安装ecshop2.7时候的错误处理 php版本不兼容引起

    装ECShop2.7.3出现了一堆问题,主要是因为PHP版本过高引起的,不愿意降低版本,则只能一个个解决啦!这些问题包括:preg_replace.cls_image::gd_version.end( ...

  6. iOS的settings bundle中开关button(Toggle Switch)取不到值的问题

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 假设认为写的不好请多提意见,假设认为不错请多多支持点赞.谢谢! hopy ;) 在Xcode7.2中设置App的settings bundle ...

  7. Android 演示 Android ListView 和 github XListView(1-3)

    本文内容 环境 项目结构 演示 1:ListView 演示 2:简单 XListView 演示 3:音乐列表 XListView 演示 4:另一个音乐列表 XListView 本文四个演示,循序渐进. ...

  8. android中实现自定义广播

    自定义广播分两个步骤:1.发送广播 2.接收广播 一.先看如何接收广播: 我使用的是Android Studio,File->New->Other->Broadcast Receiv ...

  9. 【转】ionic2 返回按钮

    首先可以在 app.module.ts 文件中配置. @NgModule 中的 imports 属性的 IonicModule.forRoot 第二个参数,如下: IonicModule.forRoo ...

  10. ZH奶酪:PHP的cURL库

    原文链接:http://coolshell.cn/articles/664.html 参考链接:http://www.runoob.com/php/php-ref-curl.html 使用PHP的cU ...