批量修改中文文件名

参考:  http://www.hao32.com/unix-linux/16.html


目的: 将文件名 “王立群读《史记》21_汉武帝11_琴挑文君.mp3” 改为 “王立群读史记21_汉武帝11_琴挑文君.mp3”

原因: 从网上下载的文件有2种名字,一种带《》,一种不带,导致文件排序乱了。


代码如下: 

#!/bin/bash

for file in `ls ./`
do
      mv $file "`echo $file | sed 's/《史记》/史记/g'`"
done

代码分析:

$ echo 王立群读《史记》21_汉武帝11_琴挑文君.mp3 | sed 's/《史记》/史记/g'
王立群读史记21_汉武帝11_琴挑文君.mp3

经测试, 上述代码中的双引号可以去掉

"`echo $file | sed 's/《史记》/史记/g'`"


此代码还有个不严谨的地方: 对不含“《史记》”的文件也会执行mv操作,

当然由于“mv 文件名 相同文件名”而没有执行。

mv: "王立群读史记30_一代将星-王立群.mp3" 与"王立群读史记30_一代将星-王立群.mp3" 为同一文件




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值