1. 程式人生 > >shell解壓壓縮包,求包下所有文本的錄音時長總和

shell解壓壓縮包,求包下所有文本的錄音時長總和

ase tdi tgz array net then arpa fun ucc

#!/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

shell解壓壓縮包,求包下所有文本的錄音時長總和