批量重命名文件

下载了《生活大爆炸》打算重温,但是文件名实在是太过长了啊,受不了啊!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

charles@TCRMBP➜ Season03 ls
生活大爆炸.The.Big.Bang.Theory.S03E01.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E02.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E03.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E04.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E06.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E07.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E08.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E09.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E10.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E11.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E12.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E13.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E14.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E15.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E16.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E17.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E18.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E19.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E20.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E21.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E22.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4
生活大爆炸.The.Big.Bang.Theory.S03E23.Chi_Eng.HDTV-PSP.480x272-YYeTs人人影视.mp4

如上,在命令行下怎么批量重命名,去掉“生活大爆炸.The.Big.Bang.Theory.”部分,只留下后面部分呢?其实以前我也查找过类似的shell命令,但是每次都不记得,这次所幸写个文章记录下来。

1
2
3
4
5
6

for filename in `ls grep "生活大*"`;
do
mv $filename `echo $filenamecut -c 27-`;
done

上面,第一行和第三行的分号,不是必须的,本来这个指令,可以写在一行里面,所以有分号,这里为了看方便,格式化了一下。

这个例子,只是去除了文件名的前缀,功能就是把前27个字节去掉,如此而已,如果有别的需求,可以在这个基础上自由发挥。