簡體   English   中英

Perl單線在文件名末尾添加字符串

[英]Perl one-liner to add a string at the end of file name

我在目錄中有一些HTML和JavaScript文件。 我想在每個JavaScript(name.js)文件的末尾附加“ _backup”。 唯一的選擇是什么?

選擇你的毒葯:

  1. File::Copy

     use File::Copy 'move'; for ( glob "*.js" ){ # Platform independent move( $_, "${_}_backup" ) or warn "Failed to copy '$_'"; } 
  2. rename功能

     for ( glob "*.js" ){ # Not platform independent rename( $_, "${_}_backup" ) or warn "Failed to copy '$_'"; } 
  3. * nix rename實用程序

     $ rename .js .js_backup *.js 

-i選項創建具有給定后綴的備份文件,然后提供一個空腳本。

perl -i_backup -p -e "" *.js; rm *.js

那實際上是兩條線

感謝Zaid的回答

perl -e 'rename($_,$_."_backup") for (glob "*.js");'

這條線有點長,但這是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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM