shell解压压缩包,求包下所有文本的录音时长总和

#!/bin/bash
#from为压缩包批次所在目录
#basetarpath 为统计每批次总时长
from=$1
basetarpath=$2
suffix="tgz"
todir=$basetarpath
outdir=$basetarpath/home/iflytek/out
if [ ! -d? $from ]; then
exit
fi
if [ ! -d $basetarpath ];then
mkdir -p $basetarpath
fi
function jieya(){
? ? for element in ls $1
? ? do??
? ? ? ? dir_or_file=$1"/"$element
? ? ? ? if [ -d $dir_or_file ]
? ? ? ? then?
? ? ? ? ? ? jieya $dir_or_file
? ? ? ? else
? ? ? ? ? ? if [ "${dir_or_file##*.}" = "tgz" ]; then
tar -zxvf $dir_or_file -C $todir?
? ? ? ? ? ? fi?
fi??
? ? done
? ? echo " tar success "??
}
function taltoltime(){
cat $1 | while read myline
do
? ? ? ? var=$( cat $myline | grep "time" )
? ? ? ? if [[ $var != "" ]]; then
var=${var//"time:"/|}
? ? ? ? ? ? ? ? array=(${var//|/ })
? ? ? ? ? ? ? ? for var2 in ${array[@]}
? ? ? ? ? ? ? ? do
? ? ? ? ? ? ? ? ? ? ? ? arraylr=(${var2//,/ })
voicetime=$(($voicetime+$((${arraylr[1]}-${arraylr[0]}))))
? ? ? ? ? ? ? ? ? ? ? ? echo $voicetime? ?> $3
? ? ? ? ? ? ? ? done
? ? ? ? fi
done
}
function iterate(){

? ? for element in $outdir/? ? ??
? ? do
cd $outdir
echo 0 >? ${element##
/}.txt
for onetxt in $element/
do
voicetime=$(cat ${element##
/}.txt)
taltoltime $onetxt $voicetime ${element##*/}.txt
done
? ? done
? ? echo "success"
}
jieya $from
iterate

原文地址:http://blog.51cto.com/12165865/2065542

时间: 2024-07-31 09:35:18

shell解压压缩包,求包下所有文本的录音时长总和的相关文章

python解压压缩包的几种方法

python解压压缩包的几种方法 .gz .tar  .tgz .zip .rar 简介 gz: 即gzip,通常只能压缩一个文件.与tar结合起来就可以实现先打包,再压缩. tar: linux系统下的打包工具,只打包,不压缩 tgz:即tar.gz.先用tar打包,然后再用gz压缩得到的文件 zip: 不同于gzip,虽然使用相似的算法,可以打包压缩多个文件,不过分别压缩文件,压缩率低于tar. rar:打包压缩文件,最初用于DOS,基于window操作系统.压缩率比zip高,但速度慢,随机

tar.xz如何解压:linux和windows下tar.xz解压命令介绍

在linux下怎么解压和压缩tar.xz文件? (本文由www.169it.com搜集整理) 在linux下解压tar.xz文件步骤 1 2 # xz -d ***.tar.xz  //先解压xz # tar -xvf  ***.tar //再解压tar tar.xz压缩包也是打包后再压缩,外面是xz压缩方式,里层是tar打包方式. 在linux下创建tar.xz文件步骤 1 2 # tar cvf xxx.tar xxx  // 这样创建xxx.tar文件先, # xz -z xxx.tar 

MySQL5.7.25(解压版)Windows下详细的安装过程

1.首先下载MySQL 推荐去官网上下载MySQL,如果不想找,那么下面就是: Windows32位地址:点击这里下载: Windows32位的MD5校验码: ae5f344fba95c12f097d338583b94a36: Windows64位地址:点击这里下载: Windows64位的MD5校验码: 36db4a4c5804eda1f800c18860ad2a16: 下载自己系统对应版本,如果不知道,那么右键-此电脑-属性,你就能看到你的系统位数了. 2.解压压缩包 接着是解压.将下好的压

python 解压 压缩包

转 http://m.blog.csdn.net/blog/wice110956/26597179# 这里讨论使用Python解压如下五种压缩文件: .gz .tar  .tgz .zip .rar 简介 gz: 即gzip,通常只能压缩一个文件.与tar结合起来就可以实现先打包,再压缩. tar: linux系统下的打包工具,只打包,不压缩 tgz:即tar.gz.先用tar打包,然后再用gz压缩得到的文件 zip: 不同于gzip,虽然使用相似的算法,可以打包压缩多个文件,不过分别压缩文件,

PHP解压压缩包文件到指定目录的实现

$src_file为文件路径,上传文件返回压缩包路径即可 public function unzip($src_file, $dest_dir=false, $create_zip_name_dir=true, $overwrite=true){ $filePath_arr = []; if ($zip = zip_open($src_file)){ if ($zip){ $splitter = ($create_zip_name_dir === true) ? "." : "

python-29 python解压压缩包的几种方法

这里讨论使用Python解压例如以下五种压缩文件: .gz .tar  .tgz .zip .rar 简单介绍 gz: 即gzip.通常仅仅能压缩一个文件.与tar结合起来就能够实现先打包,再压缩. tar: linux系统下的打包工具.仅仅打包.不压缩 tgz:即tar.gz.先用tar打包,然后再用gz压缩得到的文件 zip: 不同于gzip.尽管使用相似的算法,能够打包压缩多个文件.只是分别压缩文件.压缩率低于tar. rar:打包压缩文件.最初用于DOS,基于window操作系统. 压缩

递归解压压缩包_模块更新(需要下载对应的解压程序)

1 #!/usr/bin/python3 2 # -*-coding:utf-8-*- 3 import os 4 import shutil 5 import time 6 import sys 7 import subprocess 8 sys.setrecursionlimit(10000)#设置函数递归的最大深度,防止无限递归导致堆栈溢出和系统崩溃 9 10 class UnzipLogFile: 11 parentName = "D:\广东应急厅巡检日志" 12 def __

下载文件到本地解压压缩包出现文件损坏,报错问题已解决

解决的关键在于responseType: Blob   // 表明从服务器返回的数据类型 (无此声明则会报zip损坏/无效!)类型 代码如下: 接口调用 上面还有一个问题,就是我下载压缩包下载解压之后,文件名称会前后多个下划线,这个地方直接用正则就可以了,就见上面代码~~~ 原文地址:https://www.cnblogs.com/zly-1209/p/12006693.html

解压tomcat二进制包出错

今天从tomcat官网下载了7.0版的二进制包,解压时出现如下错误: gzip: stdin: unexpected end of file tar: Unexpected EOF in archive tar: Error is not recoverable: exit 搞了半天最后发现是二进制包不完整,又重新下载,浪费了不少时间,郁闷...