使用mv
命令重命名多個(gè)文件和目錄可能是一個(gè)乏味的過(guò)程,因?yàn)樗婕笆褂霉艿溃h(huán)等編寫復(fù)雜的命令。
這就是rename
命令派上用場(chǎng)的地方。它通過(guò)指定名稱與搜索表達(dá)式來(lái)批量重命名指定的文件。
rename
命令的兩個(gè)版本,具有不同的語(yǔ)法和功能。我們將使用rename
命令的Perl版本。
如果你的系統(tǒng)未安裝rename,命令將顯示rename: command not found,rename命令未找到。您可以使用發(fā)行版的軟件包管理器輕松安裝rename。
如果你的計(jì)算機(jī)運(yùn)行的是基于Debian的Linux發(fā)行版,例如Ubuntu,Linux mint。請(qǐng)運(yùn)行命令sudo apt update && sudo apt install rename
安裝rename。
如果你的計(jì)算機(jī)運(yùn)行的是基于RedHat的Linux發(fā)行版,例如CentOS,F(xiàn)edora。請(qǐng)運(yùn)行命令sudo dnf install prename
安裝prename。
sudo apt update
sudo apt install rename
sudo yum install prename
rename命令選項(xiàng)
rename
命令的語(yǔ)法形式是rename [OPTIONS] perlexpr files
。perlexpr
是perl正則表達(dá)式。files
是文件。
rename
命令其實(shí)是Perl腳本。它將根據(jù)指定的正則表達(dá)式重命名指定的。您可以在此處閱讀Perl正則表達(dá)式的更多信息。
例如命令rename 's/.css/.scss/' *.css
會(huì)將所有.css
文件的擴(kuò)展名更改為.scss
。
rename 's/.css/.scss/' *.css
讓我們更詳細(xì)地說(shuō)明命令,rename命令可以映射成,s/
你的搜索模式/
指定你的替換值/
要替換的模式。
.css
是perl的正則表達(dá)式。它是替換運(yùn)算符s/
中的第一個(gè)參數(shù)。rename
命令將在指定的文件名中搜索此模式,如果找到,它將用第二個(gè)參數(shù)替換。
.scss
表示替換參數(shù)。替換運(yùn)算符s/
中的第二個(gè)參數(shù)。
*.css
表示所有擴(kuò)展名為.css
的文件。通配符*
是用于表示零個(gè),一個(gè)或多個(gè)字符的符號(hào)。
在運(yùn)行rename命令并重命名文件或者目錄之前,最好使用-n
選項(xiàng)執(zhí)行空運(yùn)行,reanme將會(huì)向您打印將重命名的文件。
rename -n 's/.css/.scss/' *.css
rename(file-0.css, file-0.scss)
rename(file-1.css, file-1.scss)
rename(file-2.css, file-2.scss)
rename(file-3.css, file-3.scss)
rename(file-4.css, file-4.scss)
默認(rèn)情況下,rename
命令不會(huì)覆蓋現(xiàn)有文件。使用-f
選項(xiàng)指示rename
覆蓋已存在的文件。
如果需要rename
打印已成功重命名的文件名稱,請(qǐng)使用-v
選項(xiàng)。
rename -f 's/.css/.scss/' *.css
rename -v 's/.css/.scss/' *.css
file-0.css renamed as file-0.scss
file-1.css renamed as file-1.scss
file-2.css renamed as file-2.scss
file-3.css renamed as file-3.scss
file-4.css renamed as file-4.scss
rename示例
以下是一些如何使用重命名命令的常見(jiàn)示例。
用下劃線替換文件名中的空格
rename 'y/ /_/' *
將文件名轉(zhuǎn)換為小寫
rename 'y/A-Z/a-z/' *
將文件名轉(zhuǎn)換為大寫
rename 'y/a-z/A-Z/' *
從文件名中刪除.bak
rename 's/\\.bak$//' *.bak
將.jpeg和.JPG文件名重命名為.jpg
rename 's/\\.jpe?g$/.jpg/i' *
結(jié)論
rename
命令允許您使用Perl正則表達(dá)式一次重命名多個(gè)文件和目錄。
-
Linux
+關(guān)注
關(guān)注
87文章
11450瀏覽量
212705 -
文件
+關(guān)注
關(guān)注
1文章
578瀏覽量
25181 -
命令
+關(guān)注
關(guān)注
5文章
726瀏覽量
22661
發(fā)布評(píng)論請(qǐng)先 登錄
php中rename()函數(shù)的妙用
Linux文件的復(fù)制、刪除和移動(dòng)命令
Linux目錄的創(chuàng)建與刪除命令
Linux改變文件或目錄的訪問(wèn)權(quán)限命令
LABVIEW中文件重命名的幾種方法——陳樹(shù)學(xué)《labview寶典》

在Linux上使用簡(jiǎn)單的cp和mv命令來(lái)復(fù)制和重命名文件
如何使用python給所有文件夾重命名

評(píng)論