如何使用bash从文件中的一行获取特定小数?

海牛

所以我有一个写入特定文件的shell脚本。在该文件中,存在一些格式类似于

Time taken: 123.45 ms

我想找到这个特定行的每个实例,并找到这个文件中所有时间的平均值。

编辑:所以我有时会动态地附加到一个文件中,比如说 sample.txt。我有时遇到的问题是 awk 有时会错过此格式的最后 1 或 2 个实例。我认为 awk 正在尝试访问文件并在文件完成写入之前读取它并且某处存在数据竞争。我将来如何避免这种情况?

索林

有很多选择:

awk '/Time taken: / { S+=$3; N++} END { printf ("%0.3f\n", S/N)}' sample.txt
  • /Time taken: / - 仅匹配的工艺线
  • S+=$3 - 对字段 3 中的数字求和(如果您的行不仅是“所用时间:##.### 毫秒”,您将需要适当调整字段编号
  • N++ - 号码匹配行

类似于 Perl:

perl -ae '$S+=$F[2],$N++ if /Time taken: /; END { print sprintf("%0.3f\n",$S/$N)}' sample.txt

两个步骤:

grep 'Time taken' sample.txt | awk '{ S+=$3} END { printf ("%0.3f\n", S/NR)}'

利用awk的行号 NR

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在一行中获取bash中特定扩展名的文件列表?

如何使用Unix从文件的每一行中获取特定字符串的搜索计数?

使用Bash,如何打印.txt文件的第一行中包含特定字符串的整行?

Bash:在文件中的特定位置插入一行

如何在bash脚本中获取文件的第一行?

如何从Powershell中的一行获取特定值

如何使用Python从.csv文件中获取行和上一行?

如何使用联合获取最后一行中特定列的总和

如何从文本文件中获取特定行到一行并在Android中显示数组列表

使用bash脚本从XML文件中删除一行

BASH - 使用 IF 循環(for)文件中的每一行

如何使用cat命令获取文件的最后一行

使用 Python 从 .txt 文件中的一行获取值

如何使用bash在HDFS中的一行上列出带有元数据的文件?

如何使用bash忽略文件中一行中的重复字符?

如何使用 Bash 将字符串添加到文件中的每一行

如何使用bash脚本在文件中输出第一行curl结果

如何使用bash从多个文件的第一行中删除前n个字符?

如何使用grep仅在文件的第一行中搜索特定字符串?

如何使用 awk 从文件的每一行中仅提取特定字符串?

如何使用熊猫在csv文件的最后一行和特定列中插入文本?

如何使用reactjs在json文件中获取最后一行

如何使用python从csv文件中的一行获取值

如何获取所有文件的名称(在一个目录中)包含一行特定的文本?

python-获取文件等中的目标行,然后获取特定的前一行?

在bash中以一行读取文件

如何获取文件的第一行?

如何使用bash交换一行中的单词位置?

如何使用带有变量、字符串和新行的 printf 在 bash 中的一行中写入文件