是否有一种方法可以根据另一字段中的变量获取字段中值的平均值?例如,对于以下输入
a x 3
b y 4
a y 2
b x 5
b x 20
我要这个输出
a 2.5
b 9.67
我发现这个awk脚本可以获得列中值的平均值。
awk '{ total += $3; count++ } END { print total/count }' file.txt
但是,我如何在其中添加for循环,使第1列中的每个变量都具有平均值呢?
该文件以制表符分隔。
谢谢
我有一个bash脚本,当我运行test.sh代码时,它在屏幕上输出每个示例编号的一些统计信息(示例如下所示)。
我要做的是将输出存储在变量中,并提取testNum的平均值-> 11和52。
A=`./test.sh` # I have all the output in a variable A
现在我需要提取11的平均值,也就是52的-128和-96,我正在考虑如何才能做到这一点。
有人能帮我吗?
这是测试代码示例: test.sh
#!/bin/sh
echo Valid Numbers per States:3G phones
echo testNum N_S
我有一个日志文件组成的标题和数字数据组成的相关字符串的数量
This is the benchmarks ns/day for wsp systems
21.473
21.483
21.425
21.548
21.588
21.587
21.522
21.547
21.549
21.487
在日志中,我需要自动添加由AVERAGE =组成的最后一行,并从2-11个字符串上的数字计算平均值。将非常感谢优雅的bash脚本,它将打开日志,循环字符串,并在最后一个字符串中添加平均值!
谢谢!
詹姆斯
这是完整的代码..
我想要做的是->
我试图找出文件的第二列中的平均值。如果文件名中有2.54,我希望从名为file_2.54_even.xls和file_2.54_odd.xls的文件中查找平均值。如果文件名中没有2.54,则只需查找文件的平均值。例如: file_1.60.xls
#!/bin/bash
for file in pmb_mpi tau xhpl mpi_tile_io fftw ; do
for f in 2.54 1.60 800 ;do
if [ ${f} = "2.54" ]
then
echo ${file}_$
我有一个脚本,它可以搜索目录中的所有文件,并提取单词<Overall>旁边的数字。现在我想从每个文件中得到数字的平均值,并输出平均小数位到小数点后的文件名。除了显示平均值外,我已经完成了大部分工作。我应该说,我认为它有效,我不确定它是否在提取文件中的所有实例,而且我肯定不确定它是否找到了平均值,如果没有精确性,很难判断。最后,我也会按平均值进行排序。我试着用awk和bc来得到平均值,也许有一个更好的方法。
我现在拥有的:
path="/home/Downloads/scores/*"
(for i in $path
do
echo `basename $i
我有这种格式的大数据集。
HF TLLL A T 0.999 NA 0.666 NA 0.566 NA NA 0.87
HF TLLM A T 0.500 0.500 0.666 0.566 NA NA 0.87
我想为每一行计算一个平均值,从第5列一直到行尾,忽略字符串NA。然后将平均值附加到每一行的末尾。
输出将如下所示:
HF TLLL A T 0.999 NA 0.666 NA 0.566 NA NA 0.87 0.775
HF TLLM A T 0.500 0.500 0.666 0.566 NA NA 0.87 0.620
我已经得到了这样的和,但不知道如何跟踪被求和的整数的数量,
我有一个文件,它有多个标签,旁边有一个数字。
<Overall>4
other <tags> and data
<Overall>2
other <tags> and data
<Overall>3
我如何在文件中搜索并计数整个标签旁边的所有数字?然后除以整个标签的数量,得到一个整体的平均值。
例如,在上面的代码中,平均值是3。
然后循环遍历当前目录中的所有文件,并列出每个文件的总体平均值。
我正在尝试编写一个bash脚本,它读取一个文件“names.txt”,并计算人们的平均成绩。例如,names.txt看起来就像这样。
900706845 Harry Thompson 70 80 90
900897665 Roy Ludson 90 90 90
脚本应该读行,打印出人的ID#,三个考试成绩的平均值和相应的字母等级。所以输出需要如下所示
900706845 80 B
900897665 90 A
这是我拥有的
#!/bin/bash
cat names.txt | while read x
do
$SUM=0; for i in
需要从一堆日志文件中找到API调用的平均响应时间。从日志文件中,我想过滤模式的拾取日志:
Eligible programs received from program service for user '89e45876-6ae7-2d08-217c-7320aada1a3d' in 840 ms.
然后取所有响应时间的平均值。
我使用grep、sed和awk命令编写了下面的代码,用于打印每个日志文件的平均响应时间。
for file in *; do
if [ -f "$file" ]; then
cat $file | grep