BASH脚本新手如何统计grep关键词命中数与预期差值并输出结果
Bash 统计grep匹配数并对比预期值实现方案
首先你现有写法存在两个问题:
grep不加统计参数只会输出匹配到的行内容,无法返回命中次数- 变量赋值时等号两侧不能有空格,否则会被系统识别为独立命令报错
完整实现代码
# 1. 统计文件中关键词实际命中次数,-c参数直接返回匹配总行数 # 如需精确匹配整词避免部分命中,可将参数改为 -cw actual=$(grep -c "success" fileName.txt) # 2. 自定义预期命中次数 expected=25 # 3. 计算未命中次数 fail=$(( expected - actual )) # 4. 按要求格式输出结果 echo "${actual} out of ${expected} expected success found; ${fail} failures"
如果需要中文输出,可将最后一行echo修改为:
echo "预期命中success共${expected}次,实际命中${actual}次,未命中${fail}次"
内容的提问来源于stack exchange,提问作者Zack
相关产品推荐
相关产品推荐

