Я работаю над небольшим сценарием, чтобы взять 3 числа в одной строке, суммировать и усреднять их и распечатать результат в конце строки. Я знаю, как использовать команду paste, но все, что я нахожу, говорит мне, как выровнять столбец. Мне нужно усреднить строку, а не столбец. Любой совет? Благодаря!Сумма/Средние числа в одной строке - UNIX
0
A
ответ
1
awk
на помощь!
$ echo 1 2 3 | awk -v RS=' ' '{sum+=$1; count++} END{print sum, sum/count}'
6 2
работает для любого числа полей ввода
$ echo 1 2 3 4 | awk -v RS=' ' '{sum+=$1; count++} END{print sum, sum/count}'
10 2.5
0
Вы можете управлять вашей линии, прежде чем давать его bc
. С bc
у вас есть дополнительные возможности, такие как установка масштаба. Простое среднее от 1 2 3 будет
echo "1 2 3" | sed -e 's/\([0-9.]\) /\1+/g' -e 's/.*/(&)\/3/' | bc
Вы можете обернуть его в функции и увидеть больше возможностей:
function testit {
echo "Input [email protected]"
echo "Integer mean"
echo "[email protected]" | sed -e 's/\([0-9.]\) /\1+/g' -e 's/.*/(&)\/'$#'/' | bc
echo "floating decimal mean"
echo "[email protected]" | sed -e 's/\([0-9.]\) /\1+/g' -e 's/.*/(&)\/'$#'/' | bc -l
echo "2 decimal output mean"
echo "[email protected]" | sed -e 's/\([0-9.]\) /\1+/g' -e 's/.*/scale=2; (&)\/'$#'/' | bc
echo
}
testit 4 5 6
testit 4 5 8
testit 4.2 5.3 6.4
testit 1 2 3 4 5 6 7 8 9
Смежные вопросы
- 1. Определение числа в одной строке
- 2. Добавить увеличивающиеся числа в строке в UNIX
- 3. числа в строке, чтобы найти символ в этой строке UNIX
- 4. Подсчет числа вхождений элементов в одной строке
- 5. сравнивающие плавающие числа в UNIX
- 6. Сортировка четного числа и нечетного числа в одной строке
- 7. работает 2 команды unix в одной строке в пакетном файле
- 8. конкатенировать 2 строки в одной строке с помощью команды unix
- 9. Unix оболочки: получить каждый заголовок файла в одной строке
- 10. Соответствие нескольких шаблонов в одной строке с помощью утилиты unix
- 11. Как вычесть два числа в одной строке в шаблоне?
- 12. как суммировать числа в одной строке массива в C++
- 13. Как я могу объединить числа в одной строке в javascript?
- 14. SQL-Как сравнить два числа в одной строке
- 15. Как читать три целых числа в одной строке cstdio :: scanf?
- 16. Медиана одной строки на основе числа в соответствующей строке
- 17. Получить vim для отображения числа запятых в одной строке
- 18. Увеличение числа в строке
- 19. Найти числа в строке
- 20. Подсчет числа в строке
- 21. Увеличение числа в строке
- 22. Ошибки числа в строке
- 23. поиск Unix подстроки в строке
- 24. Форматирование ведущих нулей в строке - сценарий UNIX
- 25. Добавить числа в строке javascript
- 26. Как я могу печатать числа на одной строке
- 27. Флажки в одной строке
- 28. Breadcrumb в одной строке
- 29. записи в одной строке
- 30. Итерация в одной строке
Любой входной образец? – sat
не было бы просто ($ 1 + $ 2 + $ 3)/3? –