shell脚本 - grep查询某个文档里边有多少匹配的字符串_shell获取匹配文件数目-程序员宅基地

技术标签: Linux  

工作中测试写了一个shell 小脚本,先把数据写入到某个文档里边,然后从文档里边查找符合的字符串,最后计算一个通过率百分比

以下代码为把执行程序所输出的数据保存到factory.log 文件中,没有这个文件会自动创建

./nUCS1000-FactoryRandomnessTest-xcl   >> factory.log

循环执行某个可执行脚本,也就是用一个脚本去执行另一个脚本

#!/bin/bash
i=1
#while [ $i -le 3 ]; do   当i等于3的时候停,循环3次
while [ TRUE ]; do   #一直循环
 let i++       #执行自加命令
 echo "$i"     #输出i的值
 ./nUCS1000-PowerOnRandomnessTest-xcl  >> factory.log
 sleep 2s      #延时2s
done

接着从factory.log里边查找匹配的字符串,并计算

#!/bin/bash

total=$(grep -c "Randomness Test V1.0.2107" factory.log)  
let total=$total-1
echo "total: $total"

i=$(grep -c "loop 1 success"  factory.log)  #在factory.log里边查找 loop 1 success 这个字符串, -c  是统计有多少个符合的 ,$ 是把那个值取出来赋给i
echo "loop 1 pass: $i"

j=$(grep -c "loop 2 success"  factory.log)
echo "loop 2 pass: $j"

let k=$i+$j

Percent=$(awk 'BEGIN{ printf "%.2f%\n",('$k'/'$total')*100 }')   #计算百分比
echo "pass rate: $Percent"

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44618297/article/details/119863713

智能推荐

java报错5:javax.mail.AuthenticationFailedException_exception in thread "main" javax.mail.authenticati-程序员宅基地

文章浏览阅读2.4k次。Exception in thread "main" javax.mail.AuthenticationFailedException: failed to connectat javax.mail.Service.connect(Service.java:322)at javax.mail.Service.connect(Service.java:172)at javax.mail.Ser..._exception in thread "main" javax.mail.authenticationfailedexception: failed

ITK/VTK对DICOM文件的读取_sitk读取mnc文件-程序员宅基地

文章浏览阅读6.6k次。在ITK中,对dicom的读取使用的是GDCM库,而在VTK库中使用的是直接是DicomFileReader库。在ITK中,读取DICOM文件的程序示例如下:_sitk读取mnc文件

求二维数组a[3][4]中的最大数和最小数_在二维数组中查找最大值和最小值并输出-程序员宅基地

文章浏览阅读2.2k次。求二维数组a[3][4]中的最大数和最小数#include<stdio.h>void main(){ int a[3][4],i,j,max,min; //输入 for(i=0;i<3;i++){ for(j=0;j<4;j++){ scanf("%d",&a[i][j]); } } //找最大数、最小数 min=a[0][0]; max=a[0][0]; for(i=0;i<3;i++){ for(j=0;j<4;j++){_在二维数组中查找最大值和最小值并输出

JUC锁——共享锁和可重入读写锁_共享锁 支持重入吗-程序员宅基地

文章浏览阅读452次。概要  JUC中的共享锁有CountDownLatch、CyclicBarrier、Semaphore、ReentrantReadWriteLock等,本章会以ReentrantReadWriteLock为蓝本对共享锁进行说明。ReadWriteLock 和 ReentrantReadWriteLock介绍  ReadWriteLock,顾名思义,是读写锁。它维护了一对相关的锁——“读取锁”..._共享锁 支持重入吗

Android内核开发:为什么刷机后系统第一次启动会很慢?_手机刷机完后开机慢-程序员宅基地

文章浏览阅读218次。转载自http://blog.51cto.com/ticktick/1677216 在做Android内核开发的过程中,我们会发现,每次编译完系统源码,烧录到设备/手机中后,第一次启动都会很慢很慢,要好几分钟甚至十几分钟,为什么会出现这样的现象呢?系统刷机后第一次启动与后面再次启动有什么不同呢?要解答这个问题,首先我们需要了解一下Android Dalvik虚拟机,以及Dalvik-cache。..._手机刷机完后开机慢

数据验证技术的应用场景:如何实现区块链网络的可扩展性-程序员宅基地

文章浏览阅读995次,点赞23次,收藏24次。1.背景介绍区块链技术作为一种去中心化的分布式账本,具有很高的潜力。然而,随着区块链网络的扩展和应用,一些挑战也随之而来。其中,可扩展性是一个非常重要的问题。数据验证技术在这方面发挥着关键作用。本文将从以下几个方面进行探讨:背景介绍核心概念与联系核心算法原理和具体操作步骤以及数学模型公式详细讲解具体代码实例和详细解释说明未来发展趋势与挑战附录常见问题与解答1.背景介绍..._区块链可扩展性问题

随便推点

javascript将canvas的ImageData转Image和DataURL_js getimagedata 转为 image-程序员宅基地

文章浏览阅读490次。【代码】javascript将canvas的ImageData转Image和DataURL。_js getimagedata 转为 image

Visual Studio 2022 从下载安装到如何使用的全面讲解 (图文详解)_vs2022-程序员宅基地

文章浏览阅读1.7k次,点赞44次,收藏49次。Visual Studio 2022做为一款集成开发软件是一款非常好用的代码开发软件,而且可调试让我们快速找到错误!和理解代码出了那些问题!可以说是初学者的必备利器!_vs2022

如何复制word的图文到TinyMCE中自动上传_tinymce复制上传word文档-程序员宅基地

文章浏览阅读203次。这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下)<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%><%@pagecontentType="text/html;charset=utf-8"%><%@pageim..._tinymce复制上传word文档

jBPM4.2 安装到tomcat 和 mysql上的步骤。并且创建一个最简单的应用-程序员宅基地

文章浏览阅读2.4k次。1.前提条件已经安装好 jdk1.6,并且配置好已经下载好jbpm4.2,并且解压。已经安装好tomcat6已经安装好 mysql5.1已经安装好 ant1.7已经安装好 eclipse-jee-galileo-win32 2.设置ant的环境变量 ANT_HOME=D:/Program Files/Apa_jbpm4.2

keepalived简易安装及配置文件详解_dynamic_interfaces allow_if_changes-程序员宅基地

文章浏览阅读2k次。设置主机名称[root@localhost keepalived]# hostnamectl set-hostname node1[root@localhost keepalived]# hostnamenode1[root@localhost data]# hostnamectl set-hostname node2[root@localhost data]# hostnamenode2keepalived源码版本[root@node2 ~]# ll /data/keepalive._dynamic_interfaces allow_if_changes

推荐文章

热门文章

相关标签