Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Shell Programming Submit a single pdf file that shows the contents of the script

ID: 3930605 • Letter: S

Question

Shell Programming

Submit a single pdf file that shows the contents of the script as specified below.

•      Suppose there is file where each line is made up of the first name of a student followed by a score (the first name and score are separated by a space).

•      Write a script to do the following tasks.

            Accept the name of the file through the first argument (i.e. $1)

            Put the first names into an array called names

            Put the corresponding scores into an array called scores

            Print names and corresponding scores (i.e. output should look the same as the input file)

            Calculate the average of all scores, and print it.

            Sort the arrays in terms of scores (in ascending order)

            Print sorted names and scores.

            Find the highest scorer, and print the information.

            Find the lowest scorer, and print the information.

Explanation / Answer

The following shell script does the required things that mentioned in the Question.

#!/bin/bash

file = "$1" // Accepting the file name through first argument

declare -a names

declare -a scores

while read line

do

IFS=' ' read -r -a names ,scores <<< "$line" //Split the line on spaces and store them into arrays

done < "$file"

for (i=0;i<${#names[@]};i++)

do

echo "$names[$i] $scores[$i]"

done

average=0

total=0

for var in "${scores[@]}"

do

total = $((total+var))

done

average = (($total/5))

echo $average

declare -a sortedScores

for name in "${names[@]}"

do

echo "$name"

done | sort

for score in "${scores[@]}"

do

echo "$score"

done | sort

echo "The Lowest scorer is ${names[0]}" // Printing the lowest scorer

echo "The highest scorer is ${names[@]}" // Printing the highest scorer

  

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote