【shell编程】签到统计上课出勤的记录
实验内容:
(1)统计每名学生出勤的次数,并按账号顺序排序。输出格式为:学生账号:次数。
(2)自己的出勤统计要求在最后一行输出。
实验思路:
将每天的两个点名文件进行合并,重新生成一个新文件3374.txt;再对3374.txt作处理,留下第一列的数据,并利用sort命令统计次数,输出重定向到mid.txt;最后,将自己的记录放在最后,保存到final.txt中,打印final.txt。
3374.sh
#/bin/sh
cat 20210422* | sort -k 1,1 -u >3374.txt
cat 20210429* | sort -k 1,1 -u >>3374.txt
cat 20210506* | sort -k 1,1 -u >>3374.txt
cat 20210513* | sort -k 1,1 -u >>3374.txt
cat 20210520* | sort -k 1,1 -u >>3374.txt
cat 20210527* | sort -k 1,1 -u >>3374.txt
awk '{a[$1]++}END{for(i in a){print i,":",a[i] | "sort -k 1"}}' 3374.txt > mid.txt
grep "stu" mid.txt|grep -v "stu3374">final.txt
grep "stu3374" r.txt>>final.txt
cat final.txt
运行命令: bash 3374.sh