參考:
linux下rename命令有兩種版本一種是c語言版本,一種是perl語言版本
檢視版本
man renmae
第一行出現以下內容的是perl版本
user contributed perl documentation
第一行出現其他的或者則是c語言版本
user commands
ps:centos預設是c語言版本,ubuntu是perl版本
c語言版本命令格式
rename from to file
說明
from 修改什麼名字to 修改成什麼名字
file 檔名
舉例說明,把以下檔案修改成類似html的格式
1.htm2.htm
3.htm
4.htm
5.htm
6.htm
7.htm
8.htm
9.htm
命令如下,把htm修改成html 使用*.htm批量匹配檔案
rename htm html *.htm
現在總結一下rename c語言版本所能實現的功能: 批量修改檔名,結果是每個檔案會被用相同的乙個字串替換掉!也就是說,無法實現諸如迴圈 然後按編號重新命名
perl版rename格式
rename [ -h|-m|-v ] [ -v ] [ -n ] [ -f ] [ -e|-e perlexpr]*|perlexpr [ files ]
注意,perl版本的rename只有兩個引數,第乙個引數為perl正規表示式,第二個引數為所要處理的檔案
man rename幫助例項
1)有一批檔案已.bak結尾,把.bak刪除
rename 's/\.bak$//' *
這個命令和sed裡面的正則是一樣的
\. 轉義
bak$ 以bak結尾
2)把所有檔名內含有大小字母的,修改為小寫字母
rename 'y/a-z/a-z/' *
其他列子
在檔案頭部統一加hello
rename 's/^/hello/' *
把htm換成html
rename 's/htm/html/' *
在尾部加.zip
rename 's/$/.zip/' *
規則化數字編號名,比如 1.jpg, 2.jpg ..... 100.jpg , 現在要使檔名全部三位即 1.jpg .... 001.jpg
rename 's/^/00/' [0-9].jpg #把1-9前面加上00rename 's/^/0/' [0-9][0-9].jpg #把10-99前面加上0
Linux 重新命名命令rename
說到重新命名,相信大多數和我一樣的linux初學者想到的就是mv,簡單的重新命名當然使用mv已經足夠,但是比較複雜的重新命名 比如根據正則重新命名 就需要用到更順手的工具了,那就是rename rename options perlexpr files v 顯示成功重新命名的檔案 n 只顯示將被重新...
Linux批量重新命名(mv與rename的運用)
說明 linux的 rename 命令有兩個版本 c語言和perl語言 早期的linux發行版基本上使用的是c語言版本,現在系統幾乎都是perl語言版本了 支援正則處理,功能更強大 1 可以通過命令man rename開啟rename幫助文件檢視版本,如果第一行內容如下,則是perl語言版本。ren...
ubuntu系統rename命令批量檔案重新命名
首先,熟悉正規表示式的概念,進而可以更好理解rename命令操作.正規表示式推薦鏈結 其次,記住最簡單例子 cd 目標資料夾 後 命令列 rename v s 原字串 新字串 mp4 功能 將原字串替換為新字串 最後,詳細介紹 一.格式 usage rename v n f perlexpr fil...