极客进化岛
技术自由路

【shell】用shell脚本判断未出勤的学员

前言

平时需要在腾讯会议上课,我们要检查学员是否在线,让学员在腾讯会议敲1.

敲完1后比对谁没有在线,需要花的时间比较长,为了能够尽快查出谁签到谁没签到,让负责脚本的张老师写了一个脚本解决这个问题

脚本原文

#!/bin/bash
#name.txt是全部学员的名单,每行一个名字
# a.txt内容是腾讯会议签到敲1的内容
while read line
do
 if ! grep "$line" a.txt &>/dev/null;then
        echo "$line 未签到"
 fi

done<name.txt

效果:

[root@ecs-c13b diff]# bash diff.sh 
李秦宝未签到

注意:
1. name.txt是班级所有学员的名单
2. a.txt是 签到学员在公屏上的聊天记录

其他老师给出的解决方案

王老师:

awk 'NR==FNR{a[$0]=$0}NR>FNR{if(!a[$0])print $0}' a.txt  name.txt
赞(0)
未经允许不得转载:极客进化岛 » 【shell】用shell脚本判断未出勤的学员