我在目录中有一些HTML和JavaScript文件。我想在每个JavaScript(name.js)文件的末尾添加“_backup”。它的one-liner是什么?
答案 0 :(得分:4)
选择你的毒药:
<强> File::Copy
强>
use File::Copy 'move';
for ( glob "*.js" ){ # Platform independent
move( $_, "${_}_backup" ) or warn "Failed to copy '$_'";
}
rename
功能
for ( glob "*.js" ){ # Not platform independent
rename( $_, "${_}_backup" ) or warn "Failed to copy '$_'";
}
* nix rename
实用程序
$ rename .js .js_backup *.js
答案 1 :(得分:1)
-i选项使用给定的后缀创建备份文件,然后给出一个空脚本。
perl -i_backup -p -e "" *.js; rm *.js
这实际上是一个双线
perl -e 'rename($_,$_."_backup") for (glob "*.js");'
答案 2 :(得分:0)
这是一条稍长的线,但它是一个Perl单线!
我假设你想要名为
的文件abc.js
def.js
dog.js
重命名为
abc_backup.js
def_backup.js
dog_backup.js
perl -e 'for(@ARGV) { ($bname)=/(.*)\.js/; rename $_, "$1_backup.js"; } ' *js
大多数Linux发行版都包含一个“重命名”程序,它实际上是用Perl编写的,并且重命名这样的操作;见man rename
。