歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux rename命令 批量重命名

Linux rename命令 批量重命名

日期:2017/2/28 16:24:13   编辑:Linux教程

Linux的 rename 命令有兩個版本,一個是C語言版本的,一個是Perl語言版本的,早期的Linux發行版基本上使用的是C語言版本的,現在已經很難見到C語言版本的了,因為Perl版本的支持正則處理,所以功能更加強大,已經不再需要C語言版本的了。

如何區分系統裡的rename命令是哪個版本的?

輸入 man rename 看到第一行是

RENAME(1) Linux Programmer’s Manual RENAME(1)

那麼 這個就是C語言版本的。

而如果出現的是:
RENAME(1) Perl Programmers Reference Guide RENAME(1)

這個就是Perl版本的了!


兩個版本的語法差異:

C語言的,按照man上面的注解,
rename的語法格式是:

rename from to file

這個命令有三個參數,分別是 from : 修改什麼名字, to:改成什麼名字, file 需要修改的文件是哪些。

用法示例:
比如,有一批文件,都是以 log開頭的, log001.txt, log002.txt ....... 一直到 log100.txt
現在想要把這批文件的log全部替換為 history
rename log history log*

這句命令的意思很明白了,把 以 log開頭的所有文件中的 log字符替換為 history
這樣替換後的文件是: history001.txt, history002.txt ..... 一直到 history100.txt

rename C語言版本的另一個man示例是把後綴名批量修改,
比如我們要將所有 jpeg的後綴名圖片文件修改為 jpg文件。

rename .jpeg .jpg *.jpeg

這樣,所有以 .jpeg擴展的後綴名全部被修改為 .jpg

現在總結一下rename C語言版本所能實現的功能: 批量修改文件名,結果是每個文件會被用相同的一個字符串替換掉!也就是說,無法實現諸如循環 然後按編號重命名!

Copyright © Linux教程網 All Rights Reserved