linux统计文件中字符串次数及文件夹下特定类型文件个数

在实际日常项目中,常常会对生产日志查找异常或者统计一些内容

一、统计单个文件

统计单个文件字符串出现次数,语法:grep 字符串 文件名|wc -l ,grep输出,wc -l按行统计,每行重复只统计一个

如:统计task-hbase-transform.log中NullPointerException出现的次数

grep NullPointerException task-hbase-transform.log|wc -l  

二、统计多个文件

统计/logs/task-hbase-transform/路径下,每个文件中Exception关键字出现的次数,

脚本统计:vim countex.sh 加入以下

#!bin/sh
for file in /logs/task-hbase-transform/* #日志文件路径
do
    if test -f $file #如果是文件,统计异常数量,并输出到ex.log
    then
         e=`grep Exception "$file"|wc -l` #按行统计并输出
         echo "Exception--"$file"--"$e >>ex.log #把统计内容输出到ex.log中
        #echo $file 是文件   >> c.log
    else
        echo $file 是目录
    fi
done

添加执行权限:chmod +x countex.sh 

执行脚本:sh countex.sh

查看统计结果:cat ex.log

Exception--/logs/task-hbase-transform/task-hbase-transform.log.2018-07-19--7
Exception--/logs/task-hbase-transform/task-hbase-transform.log.2018-07-20--2
Exception--/logs/task-hbase-transform/task-hbase-transform.log.2018-07-21--1
Exception--/logs/task-hbase-transform/task-hbase-transform.log.2018-07-22--2
Exception--/logs/task-hbase-transform/task-hbase-transform.log.2018-07-23--4
Exception--/logs/task-hbase-transform/task-hbase-transform.log.2018-07-24--0
Exception--/logs/task-hbase-transform/task-hbase-transform.log.2018-07-25--6
Exception--/logs/task-hbase-transform/task-hbase-transform.log.2018-07-26--5

也可以添加定时执行脚本:crontab -e ,每天凌晨执行一次

0 0 * * *  /opt/shell/countex.sh

三、统计文件夹下特定类型文件个数

统计文件夹下/mount/taskdata 以.log结尾的文件数量

find /mount/taskdata -name *.log |wc -l #find查找特定类型并统计
或者
ls /mount/taskdata/*.log |wc -l  #ls列出特定类型并统计

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值