shell脚本-实现对比
最近我们项目在开展一个慈善活动,需要大家积极参与,去对拍品进行评价。老大派给了我一个任务就是每日11点进行统计,看看都有哪位兄弟姐妹没有按时去参与,然后进行一下统计; 一、Shell基本介绍1、Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动,挂起,停止甚至编写一些程序。 二、用到的一些基本语法1、输入输出重定向其实就是将输入或者输出结果放入自己想要指定的文件中,便于查看。比如一些定时执行的shell脚本都是凌晨执行,我们如何判定到时是否执行成功了呢?输入输出重定向则是其主要目的。 对此只讲述熟悉的输出重定向 1>正确命令保存
2、Bash变量变量就是计算机内存单元,其中存放的值可以改变;变量名称可以由字母,数字,下划线组成,但是不能以数字开头;变量的默认类型都是字符串型,如果要进行数值运算,则必修指定变量类型为数值型。 3、正则表达式1、 正则表达式与通配符的区别 正则是用来在文件中匹配符合条件的字符串,正则是包含匹配。grep,awk,sed,等命令可以支持正则表达式; 2、基础正则表达式
三、功能实践功能很简单,步骤一:查询sql,获取对应UID;步骤二:将对应UID和本地信息进行对比找出不同;步骤三:将不同的UID对应的名称展示出来 查询信息脚本: #脚本标识
#!/bin/bash
#将两个文件上次执行的内容清除
>diff.txt
>HUOHUO.txt
#数据库密码
PASS='J6yrwhCoSyzEtbZm'
#连接MySQL,注:执行此语句,虚拟机必须存有mysql客户端
echo "select uid from kupai.user_wallet_log_0 where activity_id=$1 and type=3 and status=1" | mysql -h 10.106.135.3 -P 3002 -u kupaiuser -p$PASS > HUOHUO.txt
#对比,将不同输出到diff.txt中
grep -vwf HUOHUO.txt people.txt |tr 'r' ' ' > diff.txt
对比名称输出脚本: #脚本标识
#!/bin/bash
#循环对比输出
cat diff.txt |while read line;
do
#echo $line
grep "$line" peopleName.txt --color
done
最后展示效果图则是UID和名称一一对应输出,格式自己可以定义。以上则是自己的脚本简单实现。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |