data_summarize.pl data目录文本时长汇总脚本
|
#!/usr/bin/env perl # Copyright 2018 Jarvan Wang if (@ARGV != 1) { #print STDERR "Usage: keyword_summarize.pl text utt2dur\n"; print STDERR "Usage: keyword_summarize.pl <data>\n"; exit(1); } my $text_file="$ARGV[0]/text"; my $utt2dur_file="$ARGV[0]/utt2dur"; unless(-e $text_file && -e $utt2dur_file ) { print STDERR "$text_file or $utt2dur_file does not exist!"; exit(1); } my %text_hash; my %dur_hash; my %sumdur_hash; my %count_hash; # read text open(TEXT,$text_file); while(<TEXT>){ my $temp=$_; chomp $temp; @line=split(/ /,$temp,2); $text_hash{$line[0]}=$line[1]; } # read utt2dur open(DUR,$utt2dur_file); while(<DUR>){ my $temp=$_; chomp $temp; @line=split(/ /,$temp,2); $dur_hash{$line[0]}=$line[1]; } # summarize text duration for my $key (keys %text_hash) { $sumdur_hash{$text_hash{$key}}+=$dur_hash{$key}; $count_hash{$text_hash{$key}}+=1; } #for my $key (sort keys %sumdur_hash) { #printf("文本@语句数@秒@小时\n"); printf("文本@语句数@小时\n"); my $count_sum,$sec_sum,$hour_sum; foreach my $key (sort { $sumdur_hash{$a} <=> $sumdur_hash{$b} or $a cmp $b } keys %sumdur_hash) { my $value=sprintf("%.2f",$sumdur_hash{$key}); $count_sum+=$count_hash{$key}; $sec_sum+=$value; $hour_sum+=$value/3600; if($value>1000) { #printf("%s@%d@%.2f@%.2f\n",$key,$count_hash{$key},$value,$value/3600); printf("%s@%d@%.2f\n",$key,$count_hash{$key},$value/3600); } } #printf("总和@%d@%.2f@%.2f\n",$count_sum,$sec_sum,$hour_sum); printf("总和@%d@%.2f\n",$count_sum,$hour_sum); |
data_summarize.pl data目录文本时长汇总脚本的更多相关文章
- web自动化时,sendkeys输入长文本时浏览器响应慢或错误时处理
在做某个测试时,要在文本框中输入大量的文本,文件内容如下: "-----BEGIN CERTIFICATE-----\nMIIBozCCAQwCAQEwDQYJKoZIhvcNAQEFBQA ...
- 解决真机调试时Eclipse DDMS上打不开/data目录的问题
一般真机调试时DDMS里面的File Explorer是不能打开/data 目录的,不过也很容易解决. 1.首先手机要root.这个很简单,网上一大堆资料和软件. 2.仅仅root之后还不行,下载一个 ...
- vba根据部门分别汇总不同部门下的人员不同培训内容的时长总计,多条件求和
Option Explicit Sub yy() Dim d, arr, s$, i&, m&, w$ Set d = CreateObject("Scripting.Dic ...
- JS的video获取时长,出现问题汇总
<video id="my_video_1" controls="controls" style=" width: 700px; height: ...
- js读写Cookie问题(Cookie存储时长、Cookie存储域)汇总
在采集网站用户行为数据/使用js对用户行为做交互时,经常会使用到Cookie,了解Js Cookie的读写,以及一些细节,非常重要. 什么是Cookie 所谓Cookie,只是一条极为短小的信息, ...
- docker部署postgresql时,data目录不生效的问题探究
今天用docker部署postgresql,用的是官方的镜像.结果挂载完 /var/lib/postgresql/data目录后,和容器里的目录其实并没有挂载成功. 母机上的目录并没有成功挂载到容器里 ...
- 使用mediainfo工具统计每个视频文件(媒体文件)播放时长
需求 1.运营那边需要统计大量视频文件的播放时长,并汇总记录到excel表中,问我有什么方法搞定 这边搜索了很多统计媒体文件时长的,主要有以下几种 1.使用java获取 2.使用python获取 3. ...
- 获取音、视频时长(NAudio,Shell32,FFmpeg)
参考网址:https://blog.csdn.net/u013810234/article/details/57471780 以下为本次测试用到的音.视频格式: audio :”.wav;.mp3;. ...
- Android开发 获取视频中的信息(例如预览图或视频时长) MediaMetadataRetriever媒体元数据检索器
前言 在Android里获取视频的信息主要依靠MediaMetadataRetriever实现 获取最佳视频预览图 所谓的最佳就是MediaMetadataRetriever自己计算的 /** * 获 ...
随机推荐
- 码农也来关注下经济问题<美元加息>对我们的影响
昨天凌晨三点,美联储宣布加息25个基点,这是今年美联储第四次加息,也是2015年12月份以来的第九次加息.基准利率又上调了25个基点,全球市场又要开始惴惴不安了. 要知道上一次美国基准利率上调25个基 ...
- top命令用法详解
top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具.通过top命令所提供的互动式界面,用热键可以管理. 语法 top(选项) 选项 -b:以批处理模式 ...
- 网站通信协议升级到HTTPS&HTTP2
为何要升级到HTTPS和HTTP2? http://baijiahao.baidu.com/s?id=1602041305989767011&wfr=spider&for=pc htt ...
- FineUICore(基础版)v5.4.0已发布!
FineUICore(基础版)已发布,请先加入知识星球,下载后可以永久免费商用:
- input type类型和input表单属性
一.input type类型 1.Input 类型 - email 在提交表单时,会自动验证 email 域的值. E-mail: <input type="email" n ...
- 关于php中 json_encode 编码成json数据参数说明
JSON_UNESCAPED_SLASHES 编码不要转义符 \ 反斜杠 JSON_UNESCAPED_UNICODE 编码不转义成 unicode 字符串 如果如果多个参数可以用 | 隔开添 ...
- Linux系统编程之事件驱动
通常,我们写服务器处理模型的程序时,有以下几种模型:(1)每收到一个请求,创建一个新的进程,来处理该请求:(2)每收到一个请求,创建一个新的线程,来处理该请求:(3)每收到一个请求,放入一个事件列表, ...
- [转帖]""(双引号) 与''(单引号) 差在哪?
""(双引号) 与''(单引号) 差在哪? http://wiki.jikexueyuan.com/project/13-questions-of-shell/double-sin ...
- Linux(Ubuntu)使用日记------markdown文件与pdf,doc,docx文件的相互转化(pandoc使用)
安装: sudo apt-get install pandoc 使用: man pandoc 查看帮助文档 直接转换,命令如下: pandoc -f markdown -t docx ./test ...
- Git 之 恢复修改的文件
对于恢复修改的文件,就是将文件从仓库中拉到本地工作区,即 仓库区 ----> 暂存区 ----> 工作区. 对于修改的文件有两种情况: 只是修改了文件,没有任何 git 操作 修改了文件, ...