-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path153076005.sh
More file actions
73 lines (50 loc) · 1.68 KB
/
153076005.sh
File metadata and controls
73 lines (50 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/bin/bash
echo "Sr.Num","RollNum","partA","partB","Total","IsTied:Yes-No" > temp.csv
echo "CEED Exam" > statistics.txt
awk -F, 'FNR==NR{Rollb[$1]=$1;Marksb[$1]=$2;next}
FNR!=NR{
Rolla[$1]=$1;
Marksa[$1]=$2;
Total[$1]=0;
for (i in Marksa)
{
if ((Rollb[i]-i) == (Rolla[i]-i))
Total[i]=Marksa[i] + Marksb[i]
else
{
Marksb[i]="NC"
Total[i]=Marksa[i]
}
}
print $0 "," Marksb[$1] "," Total[$1]}' partB.csv partA.csv | sed '1d' - | sort -t ',' -k 4 -nr >> temp.csv
echo "Total students : $(cat partA.csv | sed 1d - | wc -l)" >> statistics.txt
echo "Students qualifying Part A : $(cat partB.csv | sed 1d - | wc -l)" >> statistics.txt
echo "Students not qualifying Part A : $(grep -c "NC" temp.csv)" >> statistics.txt
##formatting and same scores
total=($(cut -d "," -f 4 temp.csv | sed 1d - ))
istied=($(cut -d "," -f 4 temp.csv | sed 1d - | uniq -d - ))
count=$(cut -d "," -f 4 temp.csv | sed 1d - | wc -l)
array=()
#echod ${total[@]}
#echo $istied
#echo $count
length_total=${#total[@]}
length_istied=${#istied[@]}
for (( i=0; i<$length_total; i++))
do
isset=0
for (( j=0; j<$length_istied; j++))
do
if [ "${istied[j]}" == "${total[i]}" ]
then
array[i]="Yes"
isset=$((isset+1))
fi
done
if [ "$isset" != "1" ]
then
array[i]="No"
fi
done
echo ${array[@]} | tr -s " " "\n" | sed '1i\\' - | paste -d "," temp.csv - | awk -F, 'NR!=1 {$1=++i FS $1; a[$1]=$1}1' OFS=, - > final-output.csv
echo "Highest marks : $(cat final-output.csv | cut -d "," -f 5 | sed -sn 2p -)" >> statistics.txt