linux - 使用 Linux Shell 的解析器文件

标签 linux shell

我有一个格式如下的文件:

method1|duration=300s
method2|duration=300s
method1|duration=500s
method1|duration=300s
method1|duration=700s
method3|duration=300s
...

如何使用 Linux Shell 获取 method1 的平均持续时间? 谢谢。

最佳答案

使用这个:

awk -F'[=s]' '/method1/{t+=$2;c++}END{printf "%ss\n",t/c}' file

-F[=s] 将字段分隔符设置为 =s 以便于提取它们之间的数值。 t+=$2 会将数值添加到总计 t 中。 c++ 将计算包含术语 method1 的行数。在处理完最后一行输入 END 后,我们打印总的 t 除以 c,即包含 method1 的行数

注意:变量 ct 的初始化不是必需的,因为 awk 在它们第一次使用时用 0 初始化它们。

关于linux - 使用 Linux Shell 的解析器文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31026361/

相关文章:

linux - 在 Raspberry Pi 上重新映射键盘时出现问题

linux - 在 ARM 平台上半虚拟化 linux

windows - 如何在scala中解码系统进程输出?

mysql - 通过shell脚本关闭mysql连接

c++ - Linux 上 RCF 的 boost 异常

bash - 将 mplayer 的输出写入 fifo 并读取

mysql - BASH:在测试条件之前检查错误

bash - bash getopts 函数是否会破坏命令行选项?

linux - 如何验证 shell 脚本中的参数数量(强制和可选)?

linux - 为什么来自某些脚本(python、perl、libtool)的 shebang 和命令会被 bash 错误地解释?