Linux 批量修改文件名

    背景:在研究MP4解码播放的时候音视频字幕的分片命名不符合规范,分片个数太多只能脚本实现。

 

   解决问题类型

      1.将Garfield1HD_261_dan-*.m4s 统一转换为Garfield1HD_261_dan-*.webvtt的格式 

#!/bin/bash

parse_dir=/home/lcw/test

cd $parse_dir

#Garfield1HD_261_dan-8.m4s
for var in `ls $parse_dir/*.m4s`; do
    src_name=`basename $var`
    dst_name=`echo $src_name | awk -F '.' '{print $1".""webvtt"}'`
   # echo "cp $src_name $dst_name"
    mv $src_name $dst_name
done
     

  2. Garfield1HD_eng_128000_257_Segment-1402.m4a 去掉其中的segment  Garfield1HD_eng_128000_257-1402.m4a

#!/bin/bash

parse_dir=/home/yinzhou/dashstream/media_lcw/vodafone

cd $parse_dir
#Garfield1HD_261_dan_Segment-339.m4a
#Garfield1HD_eng_128000_257_Segment-1402.m4a
for var in `ls $parse_dir/Garfield1HD_*_*_*_Segment-*`; do
    src_name=`basename $var`
    dst_name=`echo $src_name | awk -F '_|-' '{print $1"_"$2"_"$3"_"$4"-"$6}'`
    #echo "cp $src_name $dst_name"
    mv $src_name $dst_name
done

  3.将Garfield1HD_261_dan_Segment-339.m4a 其中的segment去掉 Garfield1HD_261_dan-339.m4a

#!/bin/bash

parse_dir=/home/yinzhou/dashstream/media_lcw/vodafone

cd $parse_dir
#Garfield1HD_261_dan_Segment-339.m4a
#Garfield1HD_eng_128000_257_Segment-1402.m4a
for var in `ls $parse_dir/Garfield1HD_*_*_Segment-*`; do
    src_name=`basename $var`
    dst_name=`echo $src_name | awk -F '_|-' '{print $1"_"$2"_"$3"_-"$5}'`
    #echo "cp $src_name $dst_name"
    mv $src_name $dst_name
done

  

posted @ 2016-09-21 14:10  刘传武  阅读(1100)  评论(0编辑  收藏  举报