1
LazyZhu 2015-04-26 22:37:53 +08:00
|
3
LazyZhu 2015-04-26 22:45:33 +08:00
上面贴的就是你要的
我可以给你写出你想要的,但以后遇到类似问题你仍然不会,不如自己试着写. |
4
lululau 2015-04-26 22:47:52 +08:00
google下rename, prename 之类的工具
|
5
spacewander 2015-04-26 22:52:57 +08:00
name="./[三国演义_第01集_桃园三结义].Romance.Of.The.Three.Kingdoms.1994.EP01.DVDRiP.x264.DualAudio-Whm303.mkv"
name=${name#*_} echo "${name%]*}.mkv" 大概像这样? |
6
orzfly 2015-04-26 23:42:21 +08:00
|
7
jb 2015-04-26 23:50:12 +08:00
感觉直接rename不就好了?
比如有test1.cpp test2.cpp test3.cpp test4.cpp 要改成code1.cpp code2.cpp ... code4.cpp 直接: $rename test code * 就好了呀 |
8
jb 2015-04-26 23:50:52 +08:00
对不起,窝没看到你最后的结果。理解错了。。。
|
9
extreme 2015-04-27 00:34:48 +08:00 1
cd 存放mkv的目录
for i in *.mkv do mv ${i} $(echo ${i} | sed -r 's/^\[.*_(.*)_(.*)\].*\.mkv$/\1-\2.mkv/g') done 其实可以用更简便的rename,不过貌似并非每个发行版本的rename都是正则表达式版本。 rename 's/^\[.*_(.*)_(.*)\].*\.mkv$/$1-$2.mkv/g' *.mkv |
10
extreme 2015-04-27 00:39:40 +08:00
@extreme 除非你也修改正则表达式,否则记得上面的命令的*.mkv不要改成其他的,即使是./*.mkv(把^改成.*吧),如果改了,正则表达式可能就无法匹配了。
|
11
LazyZhu 2015-04-27 04:08:12 +08:00 1
for episode in *.mkv; do
mv ${episode} ${episode:6:4}-${episode:11:5}.mkv done # Tested under Debian7.8 |
12
Chigogo OP |
13
zhigang1992 2015-04-27 07:48:40 +08:00 via iPad
sublime text,multicursor
|
14
ilotuo 2015-04-27 10:00:26 +08:00 via Android
搭车求一个有没有专门做正则表达式练习的网站?
|
15
Chigogo OP @zhigang1992 那个是编辑器,我要的是文件操作。。。
|
16
dofine 2015-04-27 13:52:20 +08:00
massren - easily rename multiple files using your text editor https://github.com/laurent22/massren
反正 bash 我是一直没学会。。 |
17
orzfly 2015-04-27 14:27:07 +08:00
@Chigogo 如果你非要觉得编辑器不能干文件操作……
https://dl.dropboxusercontent.com/u/225892/rename-with-sublime.mp4 cc @zhigang1992 |
21
vimutt 2015-04-27 19:25:22 +08:00
acdsee 批量重命名可以搞定 哈哈 这个太弱了哈
|