我在一个目录中有一些 HTML 和 JavaScript 文件。我想在每个 JavaScript (name.js) 文件的末尾附加“_backup”。它的单线是什么?
问问题
439 次
3 回答
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
于 2013-04-08T09:00:31.553 回答
1
-i 选项创建具有给定后缀的备份文件,然后提供一个空脚本。
perl -i_backup -p -e "" *.js; rm *.js
这实际上是一条两条线
感谢Zaid 的回答:
perl -e 'rename($_,$_."_backup") for (glob "*.js");'
于 2013-04-08T08:44:31.140 回答
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
。
于 2013-04-08T09:04:29.443 回答