题目详情

题目详情

代码实现

#!/bin/bash
#自动下载疫情数据的json文件
wget https://raw.githubusercontent.com/BlankerL/DXY-COVID-19-Data/master/json/DXYArea.json
#首先筛选出continentEnglishName值为Europe的行,从json文件看出,每条数据存放currentConfirmedCount值的行数=存放continentEnglishName值的行数+6,然后把输入定向到同目录的filter.txt文件夹中
cat -n DXYArea.json | grep "continentEnglishName" | grep Europe | awk '{printf("%d\n",$1+6)}' > filter.txt
#从filter.txt中读取数据赋值给数组
array=$(cat filter.txt)
#设置总人数变量
all_sum=0
#便利数组
for i in ${array}
do
#为了方便交互,这一步输出currentConfirmedCount>1000的国家的确诊人数
sed -n "$i"'p' DXYArea.json | awk -F ': ' '{print $2}' | awk -F ',' '{if($1>1000){printf("此国家确诊人数大于1000,人数:%d\n",$1)}else{print 0}}'
#从文本数据中提取出来确诊人数
countPeople=$(sed -n "$i"'p' DXYArea.json | awk -F ': ' '{print $2}' | awk -F ',' '{if($1>1000){printf("%d",$1)}else{print 0}}')
#对于每个满足条件的国家的确诊人数进行类加
all_sum=$(($all_sum+$countPeople))
done
#输出总人数
echo "计算所有满足条件的国家确诊人数总和为:"$all_sum

运行截图

运行截图-1
运行截图-2

最后修改:2020 年 04 月 04 日
如果觉得我的文章对你有用,请随意赞赏