Я знаю, что формулировка вышеупомянутого вопроса довольно неясна, но я сделаю все возможное, чтобы объяснить.У меня есть набор данных, состоящий из разных значений идентификатора отеля и набора оценок для каждого соответствующего отеля.Вот код, который у меня есть сейчас:
cd "$1" || exit 1
grep "<Overall>" hotel_*.dat | sed 's/\.dat:<Overall>/ /'
(код в основном извлекает данные из файлов и выводит их в более точном формате)
Это вывод кода: пример выходных данных терминала
Как вы можете видеть на рисунке, мои данные состоят из двух столбцов.То, что я пытаюсь сделать, - это взять среднее значение данных в столбце 2 для каждого идентификатора отеля, поэтому в основном получим результат: (идентификатор отеля) (средний).Каждый идентификатор отеля должен иметь свое собственное среднее значение.
То, что я пытался сделать, было:
cd "$1" || exit 1
grep "<Overall>" hotel_*.dat | sed 's/\.dat:<Overall>/ /' | awk '{SUM+= $2} END {print SUM/NR}'
Это берет среднее значение всех данных и просто выводит число вместо среднего для каждогоИдентификатор отеля в формате (идентификатор отеля) (средний).
Надеюсь, моего объяснения достаточно.