【Linux】统计文本中每行指定位置出现的字符串的次数

统计文本中每行指定位置出现的字符串的次数

假定情景

某些项目,会把某个特定事件记录到Log中并且落盘(保持到硬盘)。基于落盘后的日志,要统计这些日志里产生该特定事件的次数

统计脚本

可以写一个sh脚本,来解析某个文本指定的位置,出现指定字符串的次数。

parse_count() {
    awk '{
    suffix = substr($0, length($0) - 87, 88)
    print suffix
    }' $1 | sort | uniq | grep "Linduo" | wc -l
}

 parse_count Linduo.txt
  • 该脚本功能是,统计Linduo.txt这个文本中。每一行后88个字符,出现Linduo这个字符串的次数。

脚本说明

  • 声明一个awk命令块
awk '{ }'
  • 从当前处理的行$0,提前一个字符串。提前位置是长度减去87,提前长度为88。也就是从每行尾部开始提前88个字符。
 suffix = substr($0, length($0) - 87, 88)
  • 打印提取的子串。
print suffix:打印上一步中提取的子串。
  • 指定 awk命令输入文件
 $1
  • 排序并去重,然后搜索指定的字符。并输出出现指定字符的次数。
| sort | uniq | grep "Entering" | wc -l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值