使用bc处理多个数据源

时间:2017-12-19 20:49:20

标签: linux bash bc

我有一个包含列中数字的文件:

[root@server1]# cat numbers.txt
30
25
15

我需要将它们加在一起,所以我这样做:

[root@autonoc cattests]# cat numbers.txt |  paste -s -d+ | bc
70

但是在我将它们加在一起后,我需要将它们除以60,就像这样:

[root@server1]# cat numbers.txt |  paste -s -d+ | "new command" | bc

我该怎么做?

4 个答案:

答案 0 :(得分:3)

使用awk:

$ awk '{s+=$1} END{print s/60}' numbers.txt
1.16667

如何运作

  • s+=$1

    numbers.txt的每个留置权上的数字都会添加到变量s

  • END{print s/60}

    在我们读完文件后,我们打印s除以60的值。

答案 1 :(得分:2)

<?php require 'functions.php';?>

答案 2 :(得分:0)

awk -v div=60 '{tot+=$0}END{print tot/div}' numbers.txt

使用-v div=60可以进一步扩展以接受任何用户输入,例如

read -p "Enter the div value: " div
awk -v div="$div" ...

IHTH

答案 3 :(得分:0)

您可以使用直流

dc -f numbers.txt -e '++3k60/[result = ]np'