zoukankan      html  css  js  c++  java
  • 稳定性测试,需要对EPC或DIC任务进行翻倍操作,供后续使用

    一、首先设定配置文件:

    ############     ↓↓↓↓↓↓↓↓↓   ###########
    ############     目录吧最后的/加上    ###########
    ############     ↑↑↑↑↑↑↑↑↑   ###########
    
    ##  电话信息文件中流水号字段名,以及分割的第几个位置(根据实际电话信息文件修)
    epcVoiceId=voiceId
    voiceId_lie=1
    ##  电话信息中录音字段名,以及分割的第几个位置(针对音频本地处理有效,FTP方式可不作配置,不改动音频位置)
    epcVoiceUri=voiceUri
    voiceUri_lie=5
    
    
    #1. epc翻倍工具
    #复制epc文件的源文件位置(.txt文件)
    epcTaskFile=/iflytek/vie62/dmsTask/
    #复制epc的录音位置,如果是远程ftp方式,此处位置可以不填
    #epcTaskVoice=/iflytek/ahyd/dmsTask/
    epcTaskVoice=
    ##  远程方式是否需要删除已下载且转写、转码完成的wav音频文件以节省服务器磁盘空间(默认false)
    rmDownVoice=true
    #复制后的epc文件生成位置,可以设置为epc的探测路径
    epcCreateFile=/iflytek/vie62/DMS/
    #复制epc文件数目
    epcCreateNum=1
    #监测epc还有多少文件未跑完,一般会设置成epc的batch目录,保证epc处理文件不为空(30s检查一次,可在doubleTask倒数第二行修改)
    epcNonFile=/iflytek/vie62/EPCTask/batch/
    
    
    #2. dic翻倍工具
    
    #复制数据源的源文件存放位置(.new和.txt文件),此为dic复制的另一个方式,更改录音的时间,两种方式用一种即可,通常用这个
    dicTaskFile=/data/iflytek/vie62/msm/dicTask/
    #复制成功的文件存放位置(.new和.txt文件),此处可以改为dic的探测目录
    dicCreateFile=/data/iflytek/vie62/msm/EPCTask/sender/
    #对源文件翻倍多少倍
    dicCreateNum=2
    #翻倍的数据年份 
    createYearNum=2018
    #翻倍的数据月份
    createMonthNum=12

    二、翻倍的实现:

    #!/bin/sh
    
    ######################
    #  任务翻倍脚本
    #  20190216
    #  wjlv2@iflytek.com
    ######################
    
    ##  生成随机不重复值
    function suijizhi(){
        
        ##  生成n个随机数到.tempp文件中
        rm -rf .tempp
        i=0
        while [ ${i} -lt $epcCreateNum ]
        do
            echo `tr -cd a-zA-Z0-9 </dev/urandom | head -c 12` >> .tempp
            let "i+=1"
        done
        echo '['$(date "+%Y-%m-%d %R:%S")'] 随机数已生成...'
    
    }
    
    ##  初始化参数
    function chushihua(){
        echo '['$(date "+%Y-%m-%d %R:%S")'] ########### 开始初始化 ###########'
        ##  当前脚本所在目录
        workdir=$(cd $(dirname $0); pwd)
        ##  删除fuzhi函数备份到当前目录的txt文件
        rm -rf *txt
        if [ -d bak ];then
            echo '['$(date "+%Y-%m-%d %R:%S")'] 生成原始电话信息文件备份目录 ...'
        else
            mkdir bak
        fi
        ##  取配置文件中的相关目录位置
        epcTaskFile=`cat ./config.ini|grep epcTaskFile|grep -v "#"|awk -F '=' '{print $2}'`
        epcTaskVoice=`cat ./config.ini|grep epcTaskVoice|grep -v "#"|awk -F '=' '{print $2}'`
        epcCreateFile=`cat ./config.ini|grep epcCreateFile|grep -v "#"|awk -F '=' '{print $2}'`
        epcCreateNum=`cat ./config.ini|grep epcCreateNum|grep -v "#"|awk -F '=' '{print $2}'`
        epcNonFile=`cat ./config.ini|grep epcNonFile|grep -v "#"|awk -F '=' '{print $2}'`
        epcVoiceId=`cat ./config.ini|grep epcVoiceId|grep -v "#"|awk -F '=' '{print $2}'`
        voiceId_lie=`cat ./config.ini|grep voiceId_lie|grep -v "#"|awk -F '=' '{print $2}'`
        epcVoiceUri=`cat ./config.ini|grep epcVoiceUri|grep -v "#"|awk -F '=' '{print $2}'`
        voiceUri_lie=`cat ./config.ini|grep voiceUri_lie|grep -v "#"|awk -F '=' '{print $2}'`
        rmDownVoice=`cat ./config.ini|grep rmDownVoice|grep -v "#"|awk -F '=' '{print $2}'`
        
    :<<!    
        echo 'epcTaskFile : '$epcTaskFile
        echo 'epcTaskVoice : '$epcTaskVoice
        echo 'epcCreateFile :'$epcCreateFile
        echo 'epcCreateNum : '$epcCreateNum
        echo 'epcNonFile : '$epcNonFile
    !
        ##  判断配置路径是否正确
        if [ `find $epcTaskFile -name 'DHXX_*_*_*txt'|wc -l` == 0  ];then
                echo '请检查epc待翻倍目录 '$epcTaskFile' 下是否有电话信息文件'
                exit 0
        elif [ $epcCreateNum -lt 1 ];then
                echo '翻倍数不能小于1!'
                exit 0
        else
            echo '['$(date "+%Y-%m-%d %R:%S")'] 已找到电话信息文件'    
            echo '['$(date "+%Y-%m-%d %R:%S")'] 每次复制文件数为:'$epcCreateNum
            
            if [ 'ABC'$epcTaskVoice == 'ABC' ];then
                        echo '['$(date "+%Y-%m-%d %R:%S")'] 音频位置:FTP'
                        ##  远程下载标志,默认为true
                        isHbyd=true
                ##  判断是否需要删除已下载且转码后的音频文件(节省服务器磁盘空间)
                        if [[ 'abab'$rmDownVoice == 'ababfalse' ]];then
                                echo '['$(date "+%Y-%m-%d %R:%S")'] 删除远程下载已转码音频:否'
                        else
                    echo '['$(date "+%Y-%m-%d %R:%S")'] 删除远程下载已转码音频:是'
                fi
            else
                echo '['$(date "+%Y-%m-%d %R:%S")'] 音频位置:本地'
                isHbyd=false
                ## 删除临时目录
                rm -rf $epcCreateFile/voice_temp
                rm -rf .voice
    
                ##################如果找不到音频可能只是因为音频不是V3格式的,可以在这里修改查找的文件后缀名#######################
                if [ `find $epcTaskFile -name *V3|wc -l` == 0 ];then
                        echo '请检查epc待翻倍目录 '$epcTaskFile' 下是否有录音文件'
                        exit 0
                    fi
                echo '['$(date "+%Y-%m-%d %R:%S")'] 已找到本地录音,开始复制到指定目录 ...'
                ##  找到音频目录下的音频,统一移动到指定目录
                        find ${epcTaskVoice} -name '*.V3' >> .voice
                        mkdir -p $epcCreateFile/voice_temp
                        cat .voice|while read voice_file
                        do
                                cp $voice_file $epcCreateFile/voice_temp/
                        done
                echo '['$(date "+%Y-%m-%d %R:%S")'] 本地录音复制完成~'
            fi
    
        fi
        echo '['$(date "+%Y-%m-%d %R:%S")'] ########### 初始化完成 ############'
    }
    
    
    ## 找到电话信息文件,并且修改流水号
    function fuzhi(){
        ##  查找电话信息文件(取最新的电话信息文件,作为基础模版复制)
        ## jcmb  基础模板,即电话信息文件DHXX_0_XXX.txt
        ## jcmc  基础名称,即电话信息文件夹
        jcmb=`find ${epcTaskFile} -name 'DHXX*txt' -exec ls -tr {} \;|head -1`
        echo '基础模板为:'$jcmb
        cp $jcmb ./
        
        ##  此处的line为.tempp文件的行
        jcmc=`ls DHXX*txt|awk -F'.txt|_' '{print $1"_"$2"_"$3"_'$line'_"$5}'`
        ##  备份基础模版电话信息
        echo '基础名称为:'$jcmc
        mv *txt bak
    
        ##  生成随机文件对应的目录,并拷贝基础模板到对应文件夹
    :<<!
        mkdir -p $epcCreateFile/$jcmc
        cp $jcmb $epcCreateFile/$jcmc/$jcmc.txt
        touch $epcCreateFile/$jcmc/$jcmc.new
        file=$epcCreateFile/$jcmc/$jcmc.txt
    !
    
        cp $jcmb $epcCreateFile/$jcmc.txt
        file=$epcCreateFile/$jcmc.txt
        echo '['$(date "+%Y-%m-%d %R:%S")'] 复制文件 :'$jcmc
        xiugailie    
        touch $epcCreateFile/$jcmc.new
    
    }
    
    ##  修改电话信息文件的某列(这里修改的是流水号voiceid)
    function xiugailie(){
        ## 删除临时文件
        rm -rf .voiceId_liee
    
        ##  此处的file为fuzhi中的文件
        cat $file|tail -n +2|awk -F'|' '{print $'$voiceId_lie'}' > .voiceId_liee
        cat .voiceId_liee|while read voiceId_liee_lie
        do
            sed -i 's/'$voiceId_liee_lie'/'${line:0:6}''$voiceId_liee_lie'/' $file
        done    
        echo  '['$(date "+%Y-%m-%d %R:%S")'] 已完成 :'$jcmc'.txt  流水号修改 ...'    
        ##  如果为本地方式则修改电话信息文件的音频目录为探测目录下的voice_temp目录
        if [ 'abab'$isHbyd == 'ababfalse' ];then
            rm -rf .voiceUri_liee
            ##  考虑到音频路径含有:或者/下方替换时sed命令出错,所以处理前就把所有的/替换为:
                sed -i 's/\//:/g' $file
            cat $file|tail -n +2|awk -F'|' '{print $'$voiceUri_lie'}' > .voiceUri_liee
            cat .voiceUri_liee|while read voiceUri_liee_lie
            do
                v3=`echo $voiceUri_liee_lie|awk -F':' '{print $NF}'`
                #sed -i 's/'$voiceUri_liee_lie'/..\/voice_temp\/'$v3'/' $file
                sed -i 's/'$voiceUri_liee_lie'/voice_temp\/'$v3'/' $file
            done    
            echo '['$(date "+%Y-%m-%d %R:%S")'] 已完成 :'$jcmc'.txt  音频路径修改 ...'
        fi
    
    }
    
    
    ## epc是否处于空闲任务状态
    function epcRun(){
        ##  查找epc任务处理的batch目录下是否有任务文件
        ##  name为epc待处理batch目录下的文件名(不带后缀)
        #rm -rf .nam_Txt
        nam_Txt=`find $epcNonFile -maxdepth 1 -name '*txt' -exec ls -tr {} \;|awk -F'/' '{print $NF}'|head -1|awk -F'.' '{print $1}'`
        #nam_Txt=`cat .nam_Txt`
        #echo $nam_Txt
        #rm -rf .nam_New
        nam_New=`find $epcNonFile -maxdepth 1 -name '*new' -exec ls -tr {} \;|awk -F'/' '{print $NF}'|head -1|awk -F'.' '{print $1}'`
        #nam_New=`cat .nam_New`
        #echo $nam_New
        
        ##  找到是否有存在txt和new文件
            epcRunFlag=false
    
        if  [[ -f $epcNonFile/$nam_Txt.txt  &&  -f $epcNonFile/$nam_Txt.new ]];then
            epcRunFlag=true
        elif [[ -f $epcNonFile/$nam_New.txt  &&  -f $epcNonFile/$nam_New.new ]];then
            epcRunFlag=true
        fi
    
    }
    
    ##  若音频为FTP方式,是否需要删除已下载且转码转写完成的音频以节省磁盘空间
    function rmDownVoice(){
        ##  判断是否需要删除转写完成后的音频文件
        if [[ 'abab'$rmDownVoice != 'ababfalse' ]];then
            #echo '['$(date "+%Y-%m-%d %R:%S")'] 检查 '$epcNonFile'/../trans/下是否有新生成转码后的音频'
            if [ `ls -F $epcNonFile/../trans/|wc -l` -gt 1 ];then
                cd $epcNonFile/../trans/
                echo "["$(date "+%Y-%m-%d %R:%S")"] $epcNonFile/../trans/"`ls -tr|head -1`" 已转写完成,正在删除 ..."
                rm -rf `ls -tr $epcNonFile/../trans/|head -1`
    :<<!
                cd $epcNonFile/../voice/
                echo "["$(date "+%Y-%m-%d %R:%S")"] $epcNonFile/../voice/"`ls -tr|head -1`" 已转码完成,正在删除 ..."
                rm -rf `ls -tr $epcNonFile/../voice/|head -1`
                cd $workdir
    !
            else
                echo "["$(date "+%Y-%m-%d %R:%S")"] 未找到转写完成的音频,暂时无需删除 ~"
            fi
            if [ `ls -F $epcNonFile/../voice/|wc -l` -gt 1 ];then
                cd $epcNonFile/../voice/
                            echo "["$(date "+%Y-%m-%d %R:%S")"] $epcNonFile/../voice/"`ls -tr|head -1`" 已转码完成,正在删除 ..."
                            rm -rf `ls -tr $epcNonFile/../voice/|head -1`
                cd $workdir
            else
                            echo "["$(date "+%Y-%m-%d %R:%S")"] 未找到转码完成的音频,暂时无需删除 ~"
                    fi
        fi
    }
    
    
    
    ##  main epc
    
    epc(){
    chushihua
    
    while true
        do
        epcRun
        if [[ 'abab'$epcRunFlag == 'ababfalse' ]];then
            echo '['$(date "+%Y-%m-%d %R:%S")'] epc任务处理完成,开始任务复制~'
            suijizhi
            cat .tempp|while read line
            do
            fuzhi
            done
        else
            echo '['$(date "+%Y-%m-%d %R:%S")'] epc任务处理中,暂不复制~'
        fi
            ##  判断是否要删除转写完成的音频以节省空间
            rmDownVoice
            ############  此处可修改复制检测时间间隔,1分钟:1m  1秒钟:1s  尽量不要低于30s  ##############
        sleep 30s 
        done
    }
    ########epc翻倍任务已经注释掉了#######
    
    #epc
    
    
    ##  dic翻倍
    
    dic_chushihua(){
        echo '['$(date "+%Y-%m-%d %R:%S")'] ########### 开始DIC翻倍初始化 ###########'
        workdir=$(cd $(dirname $0); pwd)
        dicTaskFile=`cat ./config.ini|grep dicTaskFile|grep -v "#"|awk -F '=' '{print $2}'`
        dicCreateFile=`cat ./config.ini|grep dicCreateFile|grep -v "#"|awk -F '=' '{print $2}'`
        dicCreateNum=`cat ./config.ini|grep dicCreateNum|grep -v "#"|awk -F '=' '{print $2}'`
        createYearNum=`cat ./config.ini|grep createYearNum|grep -v "#"|awk -F '=' '{print $2}'`
        createMonthNum=`cat ./config.ini|grep createMonthNum|grep -v "#"|awk -F '=' '{print $2}'`
        if [ `find $dicTaskFile -name 'dps*_*_*_*txt'|wc -l` == 0  ];then
                    echo '请检查epc待翻倍目录 '$dicTaskFile' 下是否有电话信息文件'
                    exit 0
            elif [ $dicCreateNum -lt 1 ];then
                    echo '翻倍数不能小于1!'
                    exit 0
            else
                  #  echo '['$(date "+%Y-%m-%d %R:%S")'] 已找到待翻倍文件' 
                    echo '['$(date "+%Y-%m-%d %R:%S")'] 每次复制文件数为:'$dicCreateNum
            fi
            echo '['$(date "+%Y-%m-%d %R:%S")'] ########### DIC初始化完成 ############'
    }
    function dic_suijizhi(){
    
            ##  生成n个随机数到.tempp文件中
            rm -rf .dic_tempp
            i=0
            while [ ${i} -lt $dicCreateNum ]
            do
                    echo `tr -cd a-zA-Z0-9 </dev/urandom | head -c 12` >> .dic_tempp
                    let "i+=1"
            done
            echo '['$(date "+%Y-%m-%d %R:%S")'] 随机数已生成...'
    
    }
    ##  main dic
    
    dic(){
    dic_chushihua
    while true
            do
        dic_suijizhi
            cat .dic_tempp|while read sjz
            do
                rm -rf dps*txt
                jcmb=`find ${dicTaskFile} -maxdepth 1 -name 'dps*_*_*_*txt' -exec ls -tr {} \;|head -1`
                cp `find $dicTaskFile -maxdepth 1 -name 'dps*_*_*_*txt'|head -1` ./
                jcmc=`ls dps*txt|awk -F'.txt|_' '{print $1"_"$2"_"$3"_'$sjz'_"$5"_"$6}'`
                mv dps*txt $jcmc.txt
                echo '['$(date "+%Y-%m-%d %R:%S")'] 基础名称为:'$jcmc
                timee=`cat $jcmc.txt |awk -F'timeFormat":"|","seatId' '{print $2}'|awk -F'-' '{print $1"-"$2}'`
                batchidd=`cat $jcmc.txt |awk -F'batchId":"|","dataSourc' '{print $2}'`
                echo '下面开始替换...'
                sed -i 's/'$batchidd'/'$sjz'/g' $jcmc.txt &
                echo '['$(date "+%Y-%m-%d %R:%S")'] 批次号修改完成...'
            ###       如果不修改年月 注释下方一行即可,配置文件config.ini不用修改 ########
    #            sed -i 's/'$timee'/'$createYearNum'-'$createMonthNum'/g' $jcmc.txt
    #            echo '['$(date "+%Y-%m-%d %R:%S")'] 来电时间修改完成...'
                sed -i 's/voiceId":"/voiceId":"123456123456/g' $jcmc.txt &
                wait
                sed -i 's/123456123456/'${sjz:0:6}'/g' $jcmc.txt
                echo '['$(date "+%Y-%m-%d %R:%S")'] 流水号修改完成...'
                mv $jcmc.txt $dicCreateFile
                touch $dicCreateFile/$jcmc.new
                echo '['$(date "+%Y-%m-%d %R:%S")'] 文件复制结束...'
            done
        ############  此处可修改复制检测时间间隔,1分钟:1m  1秒钟:1s  尽量不要低于30s  ##############
            sleep 30s
            done
    }
    dic

    翻倍的思路(以epc翻倍为例):

    1、初始化读取配置文件的值,

      (1)检查是否有固定格式待翻倍的任务文件以及翻倍的倍数

    if [ `find $epcTaskFile -name 'DHXX_*_*_*txt'|wc -l` == 0  ];then
                echo '请检查epc待翻倍目录 '$epcTaskFile' 下是否有电话信息文件'
                exit 0
        elif [ $epcCreateNum -lt 1 ];then
                echo '翻倍数不能小于1!'
                exit 0

      (2)判断录音文件处理方式是远程还是本地,并初始化处理方式的值。如果是远程,那么下载到本地是否需要删除本地已处理完成的文件

    if [ 'ABC'$epcTaskVoice == 'ABC' ];then
                        echo '['$(date "+%Y-%m-%d %R:%S")'] 音频位置:FTP'
                        ##  远程下载标志,默认为true
                        isHbyd=true
                ##  判断是否需要删除已下载且转码后的音频文件(节省服务器磁盘空间)
                        if [[ 'abab'$rmDownVoice == 'ababfalse' ]];then
                                echo '['$(date "+%Y-%m-%d %R:%S")'] 删除远程下载已转码音频:否'
                        else
                    echo '['$(date "+%Y-%m-%d %R:%S")'] 删除远程下载已转码音频:是'
                fi
            else
                echo '['$(date "+%Y-%m-%d %R:%S")'] 音频位置:本地'
                isHbyd=false
                ## 删除临时目录
                rm -rf $epcCreateFile/voice_temp
                rm -rf .voice

      (3)如果是本地继续判断目录下是否有音频,并移动到统一的位置

    if [ `find $epcTaskFile -name *V3|wc -l` == 0 ];then
                        echo '请检查epc待翻倍目录 '$epcTaskFile' 下是否有录音文件'
                        exit 0
                    fi
                echo '['$(date "+%Y-%m-%d %R:%S")'] 已找到本地录音,开始复制到指定目录 ...'
                ##  找到音频目录下的音频,统一移动到指定目录
                        find ${epcTaskVoice} -name '*.V3' >> .voice
                        mkdir -p $epcCreateFile/voice_temp
                        cat .voice|while read voice_file
                        do
                                cp $voice_file $epcCreateFile/voice_temp/
                        done

      

    2、根据读取的配置文件的翻倍数量,生成12位数字字母大小写的随机值suijizhi

    function suijizhi(){
        
        ##  生成n个随机数到.tempp文件中
        rm -rf .tempp
        i=0
        while [ ${i} -lt $epcCreateNum ]
        do
            echo `tr -cd a-zA-Z0-9 </dev/urandom | head -c 12` >> .tempp
            let "i+=1"
        done
        echo '['$(date "+%Y-%m-%d %R:%S")'] 随机数已生成...'
    
    }

    3、判断epc的运行状态

    function epcRun(){
        ##  查找epc任务处理的batch目录下是否有任务文件
        ##  name为epc待处理batch目录下的文件名(不带后缀)
        #rm -rf .nam_Txt
        nam_Txt=`find $epcNonFile -maxdepth 1 -name '*txt' -exec ls -tr {} \;|awk -F'/' '{print $NF}'|head -1|awk -F'.' '{print $1}'`
        #nam_Txt=`cat .nam_Txt`
        #echo $nam_Txt
        #rm -rf .nam_New
        nam_New=`find $epcNonFile -maxdepth 1 -name '*new' -exec ls -tr {} \;|awk -F'/' '{print $NF}'|head -1|awk -F'.' '{print $1}'`
        #nam_New=`cat .nam_New`
        #echo $nam_New
        
        ##  找到是否有存在txt和new文件
            epcRunFlag=false
    
        if  [[ -f $epcNonFile/$nam_Txt.txt  &&  -f $epcNonFile/$nam_Txt.new ]];then
            epcRunFlag=true
        elif [[ -f $epcNonFile/$nam_New.txt  &&  -f $epcNonFile/$nam_New.new ]];then
            epcRunFlag=true
        fi
    
    }

    4、执行复制

    function fuzhi(){
        ##  查找电话信息文件(取最新的电话信息文件,作为基础模版复制)
        ## jcmb  基础模板,即电话信息文件DHXX_0_XXX.txt
        ## jcmc  基础名称,即电话信息文件夹
        jcmb=`find ${epcTaskFile} -name 'DHXX*txt' -exec ls -tr {} \;|head -1`
        echo '基础模板为:'$jcmb
        cp $jcmb ./
        
        ##  此处的line为.tempp文件的行
        jcmc=`ls DHXX*txt|awk -F'.txt|_' '{print $1"_"$2"_"$3"_'$line'_"$5}'`
        ##  备份基础模版电话信息
        echo '基础名称为:'$jcmc
        mv *txt bak
    
        ##  生成随机文件对应的目录,并拷贝基础模板到对应文件夹
    :<<!
        mkdir -p $epcCreateFile/$jcmc
        cp $jcmb $epcCreateFile/$jcmc/$jcmc.txt
        touch $epcCreateFile/$jcmc/$jcmc.new
        file=$epcCreateFile/$jcmc/$jcmc.txt
    !
    
        cp $jcmb $epcCreateFile/$jcmc.txt
        file=$epcCreateFile/$jcmc.txt
        echo '['$(date "+%Y-%m-%d %R:%S")'] 复制文件 :'$jcmc
        xiugailie    
        touch $epcCreateFile/$jcmc.new
    
    }

    5、复制需要修改列内容,修改的内容有voiceId和voiceUrl

    function xiugailie(){
        ## 删除临时文件
        rm -rf .voiceId_liee
    
        ##  此处的file为fuzhi中的文件
        cat $file|tail -n +2|awk -F'|' '{print $'$voiceId_lie'}' > .voiceId_liee
        cat .voiceId_liee|while read voiceId_liee_lie
        do
            sed -i 's/'$voiceId_liee_lie'/'${line:0:6}''$voiceId_liee_lie'/' $file
        done    
        echo  '['$(date "+%Y-%m-%d %R:%S")'] 已完成 :'$jcmc'.txt  流水号修改 ...'    
        ##  如果为本地方式则修改电话信息文件的音频目录为探测目录下的voice_temp目录
        if [ 'abab'$isHbyd == 'ababfalse' ];then
            rm -rf .voiceUri_liee
            ##  考虑到音频路径含有:或者/下方替换时sed命令出错,所以处理前就把所有的/替换为:
                sed -i 's/\//:/g' $file
            cat $file|tail -n +2|awk -F'|' '{print $'$voiceUri_lie'}' > .voiceUri_liee
            cat .voiceUri_liee|while read voiceUri_liee_lie
            do
                v3=`echo $voiceUri_liee_lie|awk -F':' '{print $NF}'`
                #sed -i 's/'$voiceUri_liee_lie'/..\/voice_temp\/'$v3'/' $file
                sed -i 's/'$voiceUri_liee_lie'/voice_temp\/'$v3'/' $file
            done    
            echo '['$(date "+%Y-%m-%d %R:%S")'] 已完成 :'$jcmc'.txt  音频路径修改 ...'
        fi
    
    }

    6、若是远程方式实现删除已处理完成的任务文件

    function rmDownVoice(){
        ##  判断是否需要删除转写完成后的音频文件
        if [[ 'abab'$rmDownVoice != 'ababfalse' ]];then
            #echo '['$(date "+%Y-%m-%d %R:%S")'] 检查 '$epcNonFile'/../trans/下是否有新生成转码后的音频'
            if [ `ls -F $epcNonFile/../trans/|wc -l` -gt 1 ];then
                cd $epcNonFile/../trans/
                echo "["$(date "+%Y-%m-%d %R:%S")"] $epcNonFile/../trans/"`ls -tr|head -1`" 已转写完成,正在删除 ..."
                rm -rf `ls -tr $epcNonFile/../trans/|head -1`
    :<<!
                cd $epcNonFile/../voice/
                echo "["$(date "+%Y-%m-%d %R:%S")"] $epcNonFile/../voice/"`ls -tr|head -1`" 已转码完成,正在删除 ..."
                rm -rf `ls -tr $epcNonFile/../voice/|head -1`
                cd $workdir
    !
            else
                echo "["$(date "+%Y-%m-%d %R:%S")"] 未找到转写完成的音频,暂时无需删除 ~"
            fi
            if [ `ls -F $epcNonFile/../voice/|wc -l` -gt 1 ];then
                cd $epcNonFile/../voice/
                            echo "["$(date "+%Y-%m-%d %R:%S")"] $epcNonFile/../voice/"`ls -tr|head -1`" 已转码完成,正在删除 ..."
                            rm -rf `ls -tr $epcNonFile/../voice/|head -1`
                cd $workdir
            else
                            echo "["$(date "+%Y-%m-%d %R:%S")"] 未找到转码完成的音频,暂时无需删除 ~"
                    fi
        fi
    }
  • 相关阅读:
    ng-if 下ng-model失效 ng-repeat循环输出单选框
    ng-repeat输出当前值,ng-class的使用
    SQL-select中使用条件判断语句
    JS-Ajax
    ASP.NET-缓存Cache
    MVC-Filter-脚本注入
    三层架构与MVC的区别
    MVC-Route
    cookie-session
    初衷
  • 原文地址:https://www.cnblogs.com/wjlv/p/10582822.html
Copyright © 2011-2022 走看看