使用mv
命令重命名多個文件和目錄可能是一個乏味的過程,因為它涉及使用管道,循環(huán)等編寫復(fù)雜的命令。
這就是rename
命令派上用場的地方。它通過指定名稱與搜索表達式來批量重命名指定的文件。
rename
命令的兩個版本,具有不同的語法和功能。我們將使用rename
命令的Perl版本。
如果你的系統(tǒng)未安裝rename,命令將顯示rename: command not found,rename命令未找到。您可以使用發(fā)行版的軟件包管理器輕松安裝rename。
如果你的計算機運行的是基于Debian的Linux發(fā)行版,例如Ubuntu,Linux mint。請運行命令sudo apt update && sudo apt install rename
安裝rename。
如果你的計算機運行的是基于RedHat的Linux發(fā)行版,例如CentOS,F(xiàn)edora。請運行命令sudo dnf install prename
安裝prename。
sudo apt update
sudo apt install rename
sudo yum install prename
rename命令選項
rename
命令的語法形式是rename [OPTIONS] perlexpr files
。perlexpr
是perl正則表達式。files
是文件。
rename
命令其實是Perl腳本。它將根據(jù)指定的正則表達式重命名指定的。您可以在此處閱讀Perl正則表達式的更多信息。
例如命令rename 's/.css/.scss/' *.css
會將所有.css
文件的擴展名更改為.scss
。
rename 's/.css/.scss/' *.css
讓我們更詳細地說明命令,rename命令可以映射成,s/
你的搜索模式/
指定你的替換值/
要替換的模式。
.css
是perl的正則表達式。它是替換運算符s/
中的第一個參數(shù)。rename
命令將在指定的文件名中搜索此模式,如果找到,它將用第二個參數(shù)替換。
.scss
表示替換參數(shù)。替換運算符s/
中的第二個參數(shù)。
*.css
表示所有擴展名為.css
的文件。通配符*
是用于表示零個,一個或多個字符的符號。
在運行rename命令并重命名文件或者目錄之前,最好使用-n
選項執(zhí)行空運行,reanme將會向您打印將重命名的文件。
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)
默認情況下,rename
命令不會覆蓋現(xiàn)有文件。使用-f
選項指示rename
覆蓋已存在的文件。
如果需要rename
打印已成功重命名的文件名稱,請使用-v
選項。
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示例
以下是一些如何使用重命名命令的常見示例。
用下劃線替換文件名中的空格
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正則表達式一次重命名多個文件和目錄。
-
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209328 -
文件
+關(guān)注
關(guān)注
1文章
565瀏覽量
24727 -
命令
+關(guān)注
關(guān)注
5文章
683瀏覽量
22011
發(fā)布評論請先 登錄
相關(guān)推薦
評論