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