Подтвердить что ты не робот

Скрипты для вычисления среднего числа номеров в файле данных

Файл data.txt содержит следующее:

1.00 1.23 54.4 213.2 3.4

Вывод скриптов должен быть:

ave: 54.646

Предпочтительными являются некоторые простые сценарии.

4b9b3361

Ответ 1

Вот один из способов:

$ awk '{s+=$1}END{print "ave:",s/NR}' RS=" " file
ave: 54.646

Ответ 2

Используя jq:

$ seq 10|jq -s 'add/length'
5.5

-s (--slurp) считывает входные строки в массив.

Или в случае OP:

tr \  \\n<file|jq -s 'add/length'|sed 's/^/ave: /'

Ответ 3

perl -lane '$a+=$_ for(@F);print "ave: ".$a/scalar(@F)' file

если у вас несколько строк, и вам нужно всего лишь одно среднее:

perl -lane '$a+=$_ for(@F);$f+=scalar(@F);END{print "ave: ".$a/$f}' file