一、簡單的單檔案重新命名
mv source_file_name target_file_name
二、支援批量重新命名的,即萬用字元
rename
from :
剛學習linux的時候,對檔案重新命名首先想到的就是rename命令,但是按照在windows下對檔案重新命名的方式試了n多次都沒有反應,在網上一搜尋,發現很多人都對rename命令知之甚少,甚至有一部分人說linux下沒有rename命令,建議大家用mv命令。鑑於此,於是man rename一下,好好的研究了一下它的用法 ,在此對rename命令和mv命令在重新命名檔案方面做乙個比較,有不足之處,希望各位博友指正!
首先來說一下mv命令,在man mv中我們可以看到對於mv命令的介紹是這樣的:
mv -move(rename) files
可以看到mv命令確實有重新命名的功能,但是實際應用中,它只能對單個檔案重新命名,命令如下:
mv [path/]oldfilename [path/]newfilename
「mv命令只能對單個檔案重新命名」,這實就是mv命令和rename命令的在重新命名方面的根本區別。
再來說rename命令,在man rename的說明中可以看出rename命令是專用於檔案重新命名的,而且根據其後的例子可以看出,rename除了給單個檔案重新命名,還可以批量檔案重新命名。同時,值得注意一點的是,rename命令是帶3個引數而不是很多人認為的2個引數.
上面的例子中給出了兩種檔案批量重新命名的用法,而實際上,rename結合萬用字元使用,它的功能比上面的例子所顯示的更強大,這個大家可在實際工作中熟悉使用,下面說下它的基礎用法:
rename 批量修改檔名語法:
rename from to file
該命令的各選項含義如下:
from 源字元。to 目標字元。file 要改名的檔案
rename .rm .rmvb *
// 把所有檔案的後輟由rm改為rmvb
rename 'tr/a-z/a-z/' *// 把所有檔名中的大寫改為小寫
3、rename的版本
from :
linux 下的 rename 命令有兩個版本:
其中,c語言版本的命令如下:
rename 原字串 新字串 檔名
樣例1: 目錄 test 下存在兩個檔案: a_01 、a_02,若需要將檔名中的 a 替換為 b, 其他部分保持不變,則
(1) 若 當前位於 test 目錄下,則執行 rename a b *
(2) 若當前位於test的父目錄,則執行 rename a b test/*
perl 語言版本的命令如下:
rename 『s/原字串/新字串/』 檔名
樣例2: 題目如樣例1,則
(1) 若 當前位於 test 目錄下,則執行 rename 『s/a/b/』 *
(2) 若當前位於test的父目錄,則執行 rename 's/a/b' test/*
樣例3:若改用指令碼,可如下:
[html]view plain
copy
find -name "a*" -print |
while read name; do
echo $name
rename 's/a/b/' $name
done
最後,該如何判斷rename是哪個版本,可通過 man rename 檢視。若第一行為
rename(1) linux programmer』s manual rename(1),則是 c語言版本的,若出現 rename(1) perl programmers reference guide rename(1)則為 perl 版本的。
Linux批量重新命名
linux批量重新命名檔案會涉及到改變乙個字母 改變一些相連字母 改變某些位置的字母 在最前面加上某些字母 或者改變字母的大小寫。完成這裡五個方法基本上就會解決了linux批量重新命名的工作。1 我想把它們的名字的第乙個1個字母變為 q 其它的不變 root pps mailqueue for i ...
Linux 檔案重新命名
就目前所知道的知識,有兩種方法。一 mv mv命令最簡單,也更好掌握。形如 rm oldname newname 例子 將a.txt檔案重新命名為b.txt rm a.txt b.txt 二 rename rename命令更加健壯,不僅支援普通的檔案重新命名,而且還支援模式匹配。在開發速度上給我們帶...
linux下重新命名檔案
1.較簡單的處理命令 mv mv原檔名 新檔名 如 mv myfile newname 將myfile重新命名為newname.2.linux提供了乙個重新命名檔案命令 rename rename from to file1 file2 如 rename myfile newname myfile....