Próbuję znaleźć średnią z drugiej kolumny danych przy użyciu klasy awk
. To jest mój aktualny kod, z ramami mój instruktor przewidzianym:Użyj awk, aby znaleźć średnią z kolumny
#!/bin/awk
### This script currently prints the total number of rows processed.
### You must edit this script to print the average of the 2nd column
### instead of the number of rows.
# This block of code is executed for each line in the file
{
x=sum
read name
awk 'BEGIN{sum+=$2}'
# The script should NOT print out a value for each line
}
# The END block is processed after the last line is read
END {
# NR is a variable equal to the number of rows in the file
print "Average: " sum/ NR
# Change this to print the Average instead of just the number of rows
}
i Dostaję błąd, który mówi:
awk: avg.awk:11: awk 'BEGIN{sum+=$2}' $name
awk: avg.awk:11: ^invalid char ''' in expression
myślę, że jestem blisko, ale naprawdę nie mam pojęcia, gdzie iść stąd. Kod nie powinien być niewiarygodnie złożony, ponieważ wszystko, co widzieliśmy na zajęciach, było dość proste. Proszę daj mi znać.
Nie jestem zbytnio na awk, ale to pomaga: http://stackoverflow.com/questions/8434000/awk-calculate-average-or-zero?rq=1 –