【shell脚本】shell脚本实现的 函数差集查找

点击关注微信公众号 wenyuqinghuai
分享提纲:
1. 问题背景
2. 代码实现
1.问题背景
在做公司的测试的自动化测试时,覆盖了一些开发代码的函数,但是那些还没有做,使用一个函数一个函数搜索的方法还是比较慢的,这里提供一种快速找出来还有那些函数没有做的方法。
大致的思路是,完全使用shell脚本实现:
1)【搜集函数html】
将已经做了的函数,因为可以拿到url的html源码,匹配出一个 函数集合 sourceWeb.log
2)【执行脚本获取结果】
2.代码实现
shell脚本 run.sh的代码如下,最终生成结果是 result.log
#!/bin/sh
#以下为多行注释 http://www.cnblogs.com/emanlee/p/3749911.html
:<<eof
【使用说明】
)【搜集函数html】 将已经做了的函数,因为可以拿到url的html源码,匹配出一个 函数集合 sourceWeb.log )【执行脚本获取结果】
-- 执行脚本 sh run.sh, 里边做的工作是获取开发代码中的函数集合 local_fun.log,遍历这些函数,没有在文件sourceWeb.log中的就放到最终结果 result.log
-- result.log 就是那些还未加到自动化测试的开发的函数
eof #.获取自动化测试已经有的函数 web_fun.log
function getSourceWebUrl()
{ #{{{
#获取所在匹配行
grep "function_css_class” sourceWeb.url -rn |awk -F : '{printf $1+1" \n"}'>1.num.log
#获取自动化系统已经有的函数
cat .num.log |xargs -I {} sed -n '{}p' sourceWeb.url >web_fun.log
#删除临时文件
rm .num.log
} #}}} #.获取开发函数 service_fun.log
function getLocalFunction()
{ #{{{
grep "public function" ./ -rn|awk -F : '{printf $3" \n"}'|awk '{printf $3" \n"}'|awk -F '(' '{printf $1" \n"}'>local_fun.log
} #}}} #.获取最后的结果(还没有加到自动化中的函数 result.log)
function getLast()
{ #{{{
echo "">lastResult.log
#echo "@@@-----------------newStart">>lastResult.log
cat local_fun.log| while read line
do
#echo "File:${line}"
grep_res=`grep ${line} web_fun.log -rn`
if [ -z "$grep_res" ]
then
echo -e "\n[0未加入]${line}没有加入自动化\n"
echo -e "${line}">>lastResult.log
else
echo -e "[1加入了]${line}已加入自动化" fi
done
#排序去重
sort lastResult.log |uniq>result.log
#echo -e "@@@-------------------------newEnd\n\n">>lastResult.log
} #}}} #. 删除中间文件
function rmTmpLog()
{ #{{{
#删除临时文件
rm web_fun.log
rm local_fun.log
rm lastResult.log
} #}}} echo -e "start\n"
getSourceWebUrl;
getLocalFunction;
getLast;
#删除中间文件
rmTmpLog;
echo -e "end\n"
【shell脚本】shell脚本实现的 函数差集查找的更多相关文章
- Shell脚本中使用function(函数)示例
这篇文章主要介绍了Shell脚本中使用function(函数)示例,本文着重讲解的是如何在shell脚本中使用自定义函数,并给出了两个例子,需要的朋友可以参考下 函数可以在shell script ...
- Shell中要如何调用别的shell脚本,或别的脚本中的变量,函数
在Shell中要如何调用别的shell脚本,或别的脚本中的变量,函数呢? 方法一: . ./subscript.sh 方法二: source ./subscript.sh 注意: 1.两个点之 ...
- shell 调用其他shell脚本中的变量、函数
在Shell中要如何调用别的shell脚本,或别的脚本中的变量,函数呢? 方法一: . ./subscript.sh (两个点之间,有空格) 方法二: source ./subscript. ...
- shell脚本之循环语句与函数
shell脚本之循环语句与函数 echo的用法: echo -n #表示不换行输出 echo -e #输出转义字符,将转义后的内容输出到屏幕上 转义字符: \n :换行,被输出的字符从"\n ...
- Shell学问: 调用脚本之间
于Java,Python于,您可以使用import该方法使脚本或模块之间的呼叫,例如: >>> import math >>> math.sqrt(4) 2.0 在 ...
- Linux 服务器系统监控脚本 Shell【转】
转自: Linux 服务器系统监控脚本 Shell - 今日头条(www.toutiao.com)http://www.toutiao.com/i6373134402163048961/ 本程序在Ce ...
- [拾 得] 一枚迷人的贝壳 SHELL / Linux | shell 脚本初步入门
坚持知识分享,该文章由Alopex编著, 转载请注明源地址: http://www.cnblogs.com/alopex/ 索引: 什么是shell shell的分类 shell脚本的执行方式 ...
- 什么是Shell、Shell脚本
Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种 ...
- Shell记录-Shell脚本基础(一)
Shell 注释: 你可以把注释,在你的脚本如下: #!/bin/bash # Author : Zara Ali # Copyright (c) Tutorialsyiibai.com # Scri ...
随机推荐
- [android] 显示意图激活另外一个activity
可以使用跳转的方式类似javaweb来实现界面转换 显示意图就是必须要指定开启组件的具体信息,包名,组件名,组件的class 新建一个类TwoActivity ,继承Activity类,重写onCre ...
- 谈谈MySQL优化原理
说起MySQL的查询优化,相信大家收藏了一堆奇淫技巧:不能使用SELECT *.不使用NULL字段.合理创建索引.为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原 ...
- 关于laravel5 消息订阅/发布的理解初
laravel5.4感觉官网文档说滴不够详细...安装predis官网很详细,这里略过.... 生成命令 直接使用 Artisan 命令 make:command,该命令会在 app/Console/ ...
- yarn 命令
使用yarn的优点,简而言之就是:锁定版本,下载之前检查完整性. yarn install //安装依赖 yarn upgrade //更新 yarn upgrade immutable //更新指定 ...
- LintCode Majority Number II / III
Given an array of integers, the majority number is the number that occurs more than 1/3 of the size ...
- 【 js 工具 】如何在Github Pages搭建自己写的页面?
最近发现 github 改版了,已没有像原来的 Launch automatic page generator 这样的按钮等,所以我对我的文章也进行了修正,对于新版来说,步骤更加简单了.欢迎享用. - ...
- 在 ELK Docker 容器中查看,删除索引
使用 Docker 搭建好 ELK ( https://www.cnblogs.com/klvchen/p/9268510.html ) 环境后,如需查看 elasticsearch 的索引可采取以下 ...
- Human Motion Analysis with Wearable Inertial Sensors——阅读2
Human Motion Analysis with Wearable Inertial Sensors 实时人体运动跟踪已经应用于生物医学领域的许多应用:临床步态分析,运动康复,跌倒检测,关节生物力 ...
- Mycat 中间件配置初探与入门操作
Mycat中间件配置初探与入门操作 By:授客 QQ:1033553122 实践环境 Mycat-server-1.5.1-RELEASE-20161130213509-win.tar.gz 下载地址 ...
- 网络基础 记一次HTTPS证书验证测试过程
记一次HTTPS证书验证测试过程 by:授客 QQ:1033553122 实践 1) 安装证书 选择主机A(假设10.202.95.88)上安装https证书 说明:采用https的服务器,必须安装数 ...