我有一个学生。TXT(RoLo,名称,IDU,CGPA),如果存在滚动号,提示用户更改IDU和CGPA,并在名为“学生.txt”的文件中更新相同的代码。
我写了以下剧本:

    #! /bin/bash

    dispaly(){
      awk -F ":" -v roll=$1 '{ if ( $1 == roll) {name = $2; print name; } }
                             END {if (name == "") print "not found" }' students.txt
    }

    echo "Enter the roll no."
    read rno

    if [ $rno -ge 1000 ] && [ $rno -le 9999 ]
    then
       dispaly $rno
       # Now I have a valid $rno and want to update that line
    else
       echo Enter no between 1000 and 9999
    fi

现在我需要帮助获取IDU和CGPA值的用户输入,并根据找到的记录用该值更新students.text文件。

最佳答案

通常“-”用于awk的标准输入,例如。

    awk '{print($1)}' -

我不清楚你到底想要什么。不能在脚本的bash部分使用额外的“read”语句来输入其他2个值吗?

09-04 07:03