Ubuntu命令行下给文件批量改名——举例说明 rename 命令的用法最近迷上了有声电子书。拷到手机、或者播放器里面听。可是从网上下载的有声读物通常在文件名上都加上了一些莫名其妙的前缀或者后缀。我的播放器内置软件比较傻,经常因为这些乱七八糟的东西影响播放顺序。 用mv命令弄了半天也没搞定。突发奇想,以前学DOS的时候有个rename命令,支持通配符。估计Linux里面也一定有。 不知道rename这个命令的人就不用自己去 man rename 了。因为基本可以肯定你看不懂。除非你知道什么叫Perl expression。 这个命令的用法是这样的: rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
-v (来自verbose) 显示成功改名的文件名
好,下面举两个例子。 例子1: 我有这么一堆文件,处于同一个目录下: JCDS B13 VS 苏菲的世界 01 伊甸园.mp3 我的目标是把文件名中的“JCDS B13 VS 苏菲的世界 ” 改成数字 “0”。那么命令应该是: $ rename -v 's/JCDS B13 VS 苏菲的世界 /0/' *.mp3 或者是 rename -v 's/JCDS B13 VS 苏菲的世界 /0/' * 命令执行完以后文件名就变成了 001 伊甸园.mp3 其中上面命令中的 s是substitute,就是替换。替换的方式是用“0”替换“JCDS B13 VS 苏 菲的世界”。也就是说这个让人摸不着头脑的Perl expression的表达式为:rename -v 's/原字符串/新字符串/' *.mp3。好了,现在您只需要记住上面这个格式就行了。下面再演示个复杂点的。 例子2: 我有一堆文件处于同一个目录下: 读史有学问《刘备不是传说》01-YSXS8.COM.mp3读史有学问《刘备不是传说》02-YSXS8.COM.mp3 读史有学问《刘备不是传说》03-YSXS8.COM.mp3 读史有 |
|