i有此文件,该文件包含列中的数字:
[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
我该怎么做?
使用awk:
$ awk '{s+=$1} END{print s/60}' numbers.txt
1.16667
它如何工作
s+=$1
numbers.txt
的每个留置权上的数字添加到变量s
。END{print s/60}
我们读取文件后,我们打印
s
的值除以60。
bc -l <<< '('$(paste -s -d+ numbers.txt)')/60'
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
您可以使用DC
dc -f numbers.txt -e '++3k60/[result = ]np'