Shell脚本 | 考勤统计

该博客介绍了如何使用Shell脚本来统计CSV格式的考勤文件中每个人的签到次数。提供了两个脚本示例,第一个脚本用于统计单个学生的签到次数,第二个脚本遍历所有学生并打印每个人的签到次数。这些脚本对于自动化处理班级考勤数据非常有用。
摘要由CSDN通过智能技术生成

Shell脚本 | 考勤统计

提示:编写简单的Shell脚本文件,实现对考勤文件(.csv)数据的统计

一,准备好要遍历的考勤文件:

(1)准备四个考勤文件,统一放 /home/class/18-2 目录下:

在这里插入图片描述

(2)文件内容格式:

在这里插入图片描述

二,编写脚本

(1)统计单个人的考勤数据:
#!/bin/bash
#注意变量两边不能有等号
sum=0
read -p "请输入要统计学生的学号:" number
#遍历文件 
for file in /home/class/18-2/*
do
#循环遍历目录:
# -d 判断文件名是否为目录 -f判断文件名是否为文件
if [ -f "$file" ]
then 
  #echo "$file is directory"
  n=` grep -o ${number} $file | wc -l  `
  sum=$(( $sum+n )) 
  echo $sum
fi
done
echo ${number}签到 : $sum

运行结果:
在这里插入图片描述

(2)统计每一个人的签到次数并打印
#!/bin/bash
sum=0
declare -A stduent_array
declare -A student_array_sum
for (( a=1; a<=55; a++ ))
do 
        student_array[a]=$[1809102000+$a]
        student_array_sum[a]=0
done
for(( b=1; b<=55; b++))
do
        sum=0
        #遍历文件 
        for file in /home/class/18-2/*
        do  
        #循环遍历目录:
        # -d 判断文件名是否为目录 -f判断文件名是否为文件
        if [ -f "$file" ]
        then 
          n=` grep -o ${student_array[$b]} $file | wc -l  `
          #echo $n
          sum=$(( $sum+n )) 
        fi  
        done
        echo " 学号:${student_array[$b]} 签到: $sum 次"
done        
运行结果:

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值