Linux shell脚本中的等级计算

Linux shell脚本中的等级计算,linux,shell,Linux,Shell,我得到一个文件名txtGrade.txt包含以下内容: Name Score Nicki Minaj 60 我想通过shell脚本读取并计算文件中的每个人,并回答如下等级: Name Score Grade Nicki Minaj 60 C 条件是A>=80,79>=B>=70,69>=C>=60,59>=D>=50,49>=F 谢谢你帮助我 谢谢 您需要的命

我得到一个文件名
txtGrade.txt
包含以下内容:

Name               Score
Nicki Minaj        60
我想通过shell脚本读取并计算文件中的每个人,并回答如下等级:

Name                Score         Grade
Nicki Minaj         60                C
条件是
A>=80,79>=B>=70,69>=C>=60,59>=D>=50,49>=F

谢谢你帮助我 谢谢

您需要的命令:

  • tail-n+2
    打印文件的第二行
  • A检查分数对应的等级
  • 用于读取包含名称和分数的行的循环:

    while read -r first_name last_name score
    do
        [here $first_name etc. can be used]
    done
    
  • A检查分数对应的等级
  • printf'%s%s\n''一些文本'$some\u变量'
    打印“some text”,后跟空格,然后是
    $some\u变量的值,然后是换行符

您还需要了解。

您可以使用Sed命令修改文件。 下面是用分数修改文件的代码,我假设每个列由两个选项卡分隔

sed -i -e "1d" txtGrade.txt
file="ba.txt"

while IFS= read -r line
do
a=$(echo $line | awk '{print $2}')
if [ $a -ge "80" ]
then
    sed -i -e "s/${line}/${line}\\t\\tA/g" txtGrade.txt
elif [ $a -ge "70" ] && [ $a -le "79" ]
then
    sed -i -e "s/${line}/${line}\\t\\tB/g" txtGrade.txt
elif [ $a -ge "60" ] && [ $a -le "69" ]
then
    sed -i -e "s/${line}/${line}\\t\\tC/g" txtGrade.txt
elif [ $a -ge "50" ] && [ $a -le "59" ]
then
    sed -i -e "s/${line}/${line}\\t\\tD/g" txtGrade.txt
elif [ $a -ge "49" ]
then
    sed -i -e "s/${line}/${line}\\t\\tF/g" txtGrade.txt
else 
    echo "Results are not correct"
    exit 1
fi
done <"$file"
sed -i "1 i\Name\t\tScore\t\tGrade" txtGrade.txt
sed-i-e“1d”txtGrade.txt
file=“ba.txt”
而IFS=读取-r行
做
a=$(echo$行| awk'{print$2}')
如果[$a-ge“80”]
然后
sed-i-e“s/${line}/${line}\\t\\tA/g”txtGrade.txt
elif[$a-ge“70”]&&[$a-le“79”]
然后
sed-i-e“s/${line}/${line}\\t\\tB/g”txtGrade.txt
elif[$a-ge“60”]&&[$a-le“69”]
然后
sed-i-e“s/${line}/${line}\\t\\tC/g”txtGrade.txt
elif[$a-ge“50”]&&[$a-le“59”]
然后
sed-i-e“s/${line}/${line}\\t\\tD/g”txtGrade.txt
elif[$a-ge“49”]
然后
sed-i-e“s/${line}/${line}\\t\\tF/g”txtGrade.txt
其他的
echo“结果不正确”
出口1
fi

这个作业做完了吗?有点像这样,请帮我。用什么命令来使用txtGrade.txt计算。谢谢你,我不明白这个问题。我不知道如何使用这个文本文件。太棒了,谢谢你了,但是“ba.txt”是怎么来的。ba.txt是我用来运行脚本的文件,我忘了用txtGrade.txt替换这个名称。它会工作的,如果你喜欢答案,请投票。