在百度云盘上下载的文件名一般都是乱码(如下图),由于文件太多,手动更改文件名有点麻烦,于是尝试写了一个bash脚本来批量修改.
bash脚本文件
#!/bin/bash
for files in `ls`
do
# 截取文件名的前两个字符
fname=${files:0:2}
# 截取文件的后四个字符
bname=${files:0-4}
# 拼接成文件名
filename=$fname$bname
# 更改文件名
mv $files $filename
done
注意在执行该脚本文件的时候使用下面的命令来执行:
bash 脚本文件名
或者
sudo chmod 777 脚本文件名
./脚本文件名
不要使用下面的命令来执行:
sh 脚本文件名
这会出错:Bad substitution
修改完的效果:
还可以自己指定文件的名字(不需要从文件中截取)Bad substitution如下例子:
#!/bin/bash
cd 上册
name=0
for files in `ls`
do
# 指定后缀名
hname=".mp4"
# 指定文件名(这里采用加1的方式)
name=$(echo "$name + 1"|bc)
# 拼接成完整文件名
filename=$name$hname
# 修改文件名
mv $files $filename
done
这个脚本文件可以使用上述的三种方法执行.
关于bash和sh的区别可以查看:
http://www.cnblogs.com/hopeworld/archive/2011/03/29/1998488.html
更改效果: