У меня есть два файла. Один содержит студентов и их средний балл с первого семестра, а второй содержит студентов и 5 классов со второго семестра. Я должен обновить первый файл, чтобы он содержал учащихся, отсортированных по среднегодовой оценке. Я новичок в unix, и до сих пор я пытался использовать команду awk внутри awk, но я получаю синтаксическую ошибку. Я пробовал другие способы, но все, что мне удалось сделать, это разделить содержимое файла на строки без прямого доступа ко второму слову (средней оценке) из каждой строки.
входные файлы:
firstsem:
Name1 6
Name2 8
Name3 10
secondsem:
Name1 5 6 5 6 5
Name2 10 10 10 10 10
Name3 2 2 2 2 2
результат:
firstsem:
Name1 5.7
Name3 6
Name2 9
Код:
awk '{
name = $1
total=$2+$3+$4+$5+$6;
avg=total/5;
print name " " avg
#sprintf("",nume,avg)
}' < secondsem > secondsemesteravg
# i didn't really want the secondsemesteravg file, but i didn't find another way
while read line; do
# wanted to get the avg from firstsem
echo $line | awk '{$2=avgfirstsem + avgsecondsem/2; print $0;}';
done < firstsem