linux – Parse得分报告并提取点数和平均值
发布时间:2020-05-23 08:11:33 所属栏目:Linux 来源:互联网
导读:我想计算: 总分(总和) 今日积分(总和) 总分(平均值) 今天积分(平均值) 我不知道除了我需要开始之外的bash脚本:#!/ bin / bash 这是我的文件样本 #file 14516 - 2011-01-26 19:01:00 EDT#user: xxxxxxxx@email.com / id(11451611)lastlogin: 1295896515tota
|
我想计算: >总分(总和) 我不知道除了我需要开始之外的bash脚本:#!/ bin / bash 这是我的文件样本 #file 14516 - 2011-01-26 19:01:00 EDT# user: xxxxxxxx@email.com / id(11451611) lastlogin: 1295896515 total_points: 11.76 / today: 5.21 gameid: 51 user: xxxxxxxx@email.com / id(11837327) lastlogin: 1293893041 total_points: 416.1 / today: 98.1 gameid: 49 user: xxxxxxxx@email.com / id(11451611) lastlogin: 1294917135 total_points: 1.76 / today: 0.21 gameid: 51 解决方法你可以用这个:#!/bin/bash
if [ ! -f $1 ]; then
echo "File $1 not found"
exit 1
fi
number=$(grep total_points $1 | wc -l )
sumTotal=$(grep total_points $1 | awk '{sum+=$2} END { print sum }')
sumToday=$(grep total_points $1 | awk '{sum+=$5} END { print sum }')
echo "Total SUM: $sumTotal"
echo -n "Total AVG: "
echo "scale=5;$sumTotal/$number" | bc
echo "Today SUM: $sumToday"
echo -n "Today AVG: "
echo "scale=5;$sumToday/$number" | bc
然后保存到如下文件:script.sh 将权限更改为可执行文件:chmod x script.sh 然后运行它:./ script.sh sample.txt 这将输出: Total Record: 3 Total SUM: 429.62 Total AVG: 143.20666 Today SUM: 103.52 Today AVG: 34.50666 注意: 这里有关于bc command,grep,awk的更多帮助 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
