我有很多pdfs文件,我想用/usr/bin/rename来重命名。
这些文件的命名方式如下:
<rating> <a pretty long title> (<author> <year>).pdf
e.g.: +++ The discovery of some very interesting stuff (Dude 1999).pdf
rating: 1 to 5 '+' signs
year: numerical它们应该重命名为以下模式:
<author>, <year> <rating> <a pretty long title>.pdf
e.g.: Dude, 1999 +++ The discovery of some very interesting stuff.pdf我尝试使用/usr/bin/rename,并编写了以下命令:
rename 's/(.*)\ (.*)\ \((.*)\ (.*)\).pdf/$3, $4 $1 $2.pdf/' *.pdf但是,该命令并不认为评级始终包含'+‘符号,并且年份始终是数字。我如何才能做到这一点?我尝试了像([+]{1,5})和([0-9]{4})这样的东西,但它不起作用。
rename是否真的能够将(.*)以外的其他内容解释为变量$1 ... $n的输入
谢谢你的帮忙!
发布于 2011-10-17 22:58:28
这对我来说很好:
rename 's/(\+{1,5}) (.*) \((.*) ([0-9]{4})\).pdf/$3, $4 $1 $2.pdf/' -- \
'Dude, 1999 +++ The discovery of some very interesting stuff.pdf'..。然而,您的问题没有引用错误消息,因此很难判断在您的情况下可能出现了什么问题。
作为警告,在Linux系统上有两个不同版本的/usr/bin/rename,它们有不同的语法。但是,我假设您使用的是Perl one,因为您的原始命令根本不起作用。这意味着您可以使用任何Perl表达式来修改名称-有关更多详细信息,请参阅perlre。
发布于 2015-03-27 01:22:55
不幸的是,Fedora (这是我的发行版)有一个毫无价值的rename版本。
但我已经将其更改为perl版本的replace实用程序。
您可以在CPAN get和untar归档中找到它,然后:
# ./Build installdeps
# sudo ./Build install!!!它的动作取代了原来的fedora rename: bin文件和手册,但它可以通过yum重新安装来恢复,并可能在下一次fedora更新时恢复,也可以单独安装或使用替代方案。
https://stackoverflow.com/questions/7795400
复制相似问题