背景:
最近有一个套网络课程,需要听的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完成一些操作