linux命令之rename命令
linux命令之rename命令
linux的rename命令能夠用字符串替換的方式批量修改文件名。下面由學(xué)習(xí)啦小編為大家整理了linux命令之rename命令的相關(guān)知識(shí),希望對(duì)大家有所幫助!
linux命令之rename命令詳解
rename命令用字符串替換的方式批量改變文件名。
語(yǔ)法
rename(參數(shù))
參數(shù)
原字符串:將文件名需要替換的字符串;
目標(biāo)字符串:將文件名中含有的原字符替換成目標(biāo)字符串;
文件:指定要改變文件名的文件列表。
linux命令之rename命令實(shí)例
將main1.c重命名為main.c
rename main1.c main.c main1.c
rename支持通配符
? 可替代單個(gè)字符
* 可替代多個(gè)字符
[charset] 可替代charset集中的任意單個(gè)字符
文件夾中有這些文件foo1, ..., foo9, foo10, ..., foo278
如果使用rename foo foo0 foo?,會(huì)把foo1到foo9的文件重命名為foo01到foo09,重命名的文件只是有4個(gè)字符長(zhǎng)度名稱(chēng)的文件,文件名中的foo被替換為foo0。
如果使用rename foo foo0 foo??,foo01到foo99的所有文件都被重命名為foo001到foo099,只重命名5個(gè)字符長(zhǎng)度名稱(chēng)的文件,文件名中的foo被替換為foo0。
如果使用rename foo foo0 foo*,foo001到foo278的所有文件都被重命名為foo0001到foo0278,所有以foo開(kāi)頭的文件都被重命名。
如果使用rename foo0 foo foo0[2]*,從foo0200到foo0278的所有文件都被重命名為foo200到foo278,文件名中的foo0被替換為foo。
rename支持正則表達(dá)式
字母的替換
rename "s/AA/aa/" * //把文件名中的AA替換成aa
修改文件的后綴
rename "s//.html//.php/" * //把.html 后綴的改成 .php后綴
批量添加文件后綴
rename "s/$//.txt/" * //把所有的文件名都以txt結(jié)尾
批量刪除文件名
rename "s//.txt//" * //把所有以.txt結(jié)尾的文件名的.txt刪掉