0
点赞
收藏
分享

微信扫一扫

复制指定目录后缀文件并重命名

萧让听雪 2022-03-30 阅读 84
bashlinux

背景:

最近有一个套网络课程,需要听的mp3是按照日期做文件夹,存放到云盘上下两集难直接跳转并且会乱序,最好都在同一文件夹内,打算find+cp把文MP3文件都找出来,并按照序号+文件夹名+文件名顺序命名一下。

现有目录结构

在云盘app上,上下两集难直接跳转。
在这里插入图片描述

bash脚本

查找当前目录下的.mp3文件,重命名后复制到/temp文件夹下

sorceFile=$(find . -name "*.mp3")
# 解决空格文件名问题 导致for分割错误
IFS=$'\n'
count=2;

for file in $sorceFile
do
    # 文件名=序号+文件夹名+文件名
    # ${file:2}:去除开头的./
    standFilename=$count.$(echo ${file:2}|tr '\/' '_')
    let count++
    $(cp $file temp/$standFilename)
    echo cp $file 2 temp/$standFilename
done
echo success

知识点

  • IFS=$'\n'重新定义分割符,解决for循环问题
  • ${file:2}实现简单截取

输出结果
在这里插入图片描述

window下借助git-bash其实也可以好像linux完成一些操作

举报

相关推荐

0 条评论