字幕文件批量重命名脚本(二) —— Linux
来源:互联网 发布:c 知乎 编辑:程序博客网 时间:2024/05/29 08:03
还是老样子,先上GitHub:Yuuki_Dach’s GitHub
上次自己写了一个字幕批量重命名的脚本,结果发现在处理字幕文件的时候还是存在bug(毕竟是自己一边看番,一边测试+改进,没有特意的去找测试样本)
首先是关于视频文件的查找,原来的查找方式十分简单,也没有使用正则表达式,只是粗略的查找了一下,这里利用find的功能,使得查找更加精确。
在处理字幕文件的时候,也有问题。for循环在利用find查找的时候,会把空格视为一个间断。因此,这里利用IFS,把find指令找到的文件名当作一整块来处理就行了。
另外,字幕文件的后缀名有多种,而且利用正则表达式来匹配的方式也有很多,这里就留到下次再来处理。
#! /bin/bashecho "Before the opration stars, please make sure you have been in the right folder!"while true; do read -p "Do you want to continue? y/n " yn case ${yn} in [Yy]* ) break;; [Nn]* ) exit;; * ) echo "Please answer yes or no.";; esacdoneecho "What is the videos' extension name?"read video_extension_nameecho "How many episodes does it have?"read total_video_episode_numecho "These files were renamed successfully:"for target_episode in `seq -w 1 ${total_video_episode_num}` do target_video=`find -regex ".*[^0-9]?${target_episode}[^0-9]?.*${video_extension_name}"` target_video=${target_video%${video_extension_name}} target_video=${target_video:2} echo "${target_video}" find -regex ".*[^0-9\.i]${target_episode}[^0-9\.P].*ass" | while IFS=" " read target_sub do echo "${target_sub}" rename "s/.*[^0-9\.i]${target_episode}[^0-9\.P].*\./${target_video}/" "${target_sub}" donedone
1 0
- 字幕文件批量重命名脚本(二) —— Linux
- 字幕文件批量重命名脚本 —— Linux
- linux 文件批量重命名
- linux之文件批量重命名
- shell脚本循环读取参数,文件批量重命名
- 图片文件批量重命名(Python)
- Linux 文件批量上传脚本
- 黑马程序员学习日记(3)——文件批量重命名程序:One Click数据绑定
- 黑马程序员学习日记(4)——文件批量重命名程序:One Click容错算法
- 黑马程序员学习日记(5)——文件批量重命名程序:One Click - Run()的实现
- 企鹅Sheldon批处理系列之1——文件批量重命名
- 文件批量重命名
- 文件批量重命名
- 文件批量重命名
- 文件批量重命名
- 文件批量重命名
- 文件批量重命名
- 文件批量重命名
- SSM+Mysql+EasyUI增删改查案例
- Android通过AIDL远程调用service
- HEXO+Github,搭建属于自己的博客
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)(转)
- UVA 156 Ananagrams(stl,map,set)
- 字幕文件批量重命名脚本(二) —— Linux
- 项目及人员管理系统
- What is purpose of @ConditionalOnProperty annotation?
- 解决viewpager自动轮播速度变快的问题
- ZOJ 3601 Unrequited Love【STL】
- 十六、Hive 表的创建及测试
- python机器学习库入门之pandas
- 原型模式——prototype
- 高性能业务架构解决方案(LVS+Keepalived)