您的位置:首页 > 其它

在压缩话单中过滤指定IP的一个小脚本

2017-05-19 18:04 330 查看
工作需要,需要过滤出含有指定的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 观察提取进度,,,,最后得到所需话单.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: