在我们制作的电子版本的第二期里面,我讲了一个rename命令。
这个命令有点特别,它只有ubuntu自带了,而和其它版本的rename还不一样,当然实现的目的是一样的,只是默认的语法不一样。
在我用过的openSUSE和现在arch里面,一旦要批量更改文件名的时候,我都会想起rename这个命令,可是系统的rename却和我熟悉的不一样,为止还很是烦恼。
于偶然间,我到ubuntu下面去查看了一下,結果我才发现,原来ubuntu自带的rename只是一个perl脚本,因为我更喜欢它处理正则表达式的方式,它不愧为引领正则表达式的发展啊!所以我一定要弄到现在用的系统中来。
下面是我在ubuntu下面的测试:
$ which rename
/usr/bin/rename
$ ls /usr/bin/rename*
/usr/bin/rename /usr/bin/rename.ul
其实ubuntu也安装了一般系统所用的rename命令,只是把名字改为rename.ul了。通过man rename.ul得知:(在倒数第二行)The rename command is part of the util-linux-ng package,这也就是其它系统都自带的那个命令。
现在,我直接把它复制到我的~/bin目录里面,以后就可以随心所欲地使用了。
当然,前提是你设置了:export $PATH=~/bin:$PATH,系统才会优先搜索这个脚本。如果你觉得麻烦,你也可以像ubuntu那样,把原来的改个名字,然后把现在这个copy到/usr/bin目录下面去,就ok了。
现在来测试一下:
$ which rename
~/bin/rename
还有,如果你需要man手册的话,也可以直接copy过来,然后放到相应的目录:/usr/share/man/man1/rename.1.gz
也许你可能已经熟悉了通用那个的rename语法,但是我一直搞不明白那个语法,可能是我先接触了ubuntu的那个rename吧。
(看文章千万不要只看前面哦!)
嘿嘿!现在我来告诉你吧,在archlinux下面的话,我通过搜索找到这个软件包的名字叫prename,下面是描述:
‘rename’ from debian with support for perl regular expressions
知道了这个,也就理解了为什么ubuntu会自带这个脚本了。
接下来就安装吧!
yaourt -S prename
记住,安装这个包后使用的命令为prename了。
