linux修改文件名命令怎么使用

今天小編給大家分享一下linux修改文件名命令怎么使用的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

成都創(chuàng)新互聯(lián)公司專注于無(wú)錫企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開(kāi)發(fā),商城建設(shè)。無(wú)錫網(wǎng)站建設(shè)公司,為無(wú)錫等地區(qū)提供建站服務(wù)。全流程按需求定制設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

linux修改文件名的命令有兩個(gè):1、mv命令,既可以重命名文件,又可以移動(dòng)文件或文件夾,修改語(yǔ)法“mv [參數(shù)] 舊文件名 新文件名”;2、rename命令,可用字符串替換的方式批量改變文件名,語(yǔ)法“rename [參數(shù)] 舊文件名 新文件名”。

1、使用mv命令

mv命令既可以重命名,又可以移動(dòng)文件或文件夾。

mv [參數(shù)] 舊文件/目錄 新文件名/目錄

例子:將目錄A重命名為B

mv A B

例子:將/a目錄移動(dòng)到/b下,并重命名為c

mv /a /b/c

其實(shí)在文本模式中要重命名文件或目錄,只需要使用mv命令就可以了,比如說(shuō)要將一個(gè)名為abc的文件重命名為1234:

mv abc 1234

注意,如果當(dāng)前目錄下也有個(gè)1234的文件的話,這個(gè)文件是會(huì)將它覆蓋的。

如何使用mv命令重命名多個(gè)文件?

mv命令一次只能重命名一個(gè)文件,但它可以與其他命令一起使用,例如find在bash for或while循環(huán)來(lái)重命名多個(gè)文件。

示例:如何通過(guò)使用bash for循環(huán)來(lái)重命名當(dāng)前目錄中的所有.html文件,將.html擴(kuò)展名更改為.php。

for f in *.html; do 
    mv -- "$f" "${f%.html}.php"
done

讓我們逐行分析代碼:

● 第一行創(chuàng)建一個(gè)for循環(huán)并遍歷一個(gè)包含所有文件的列表.html。

● 第二行適用于列表中的每個(gè)項(xiàng)目和文件移動(dòng)到一個(gè)新的替換.html用.php。該部分${file%.html}使用shell參數(shù)擴(kuò)展.html從文件名中刪除部分。

● done表示循環(huán)段的結(jié)束。

我們也可以mv結(jié)合使用該命令find來(lái)實(shí)現(xiàn)與上面相同的功能。

find . -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' \;

find命令使用該開(kāi)關(guān)將所有.html以當(dāng)前目錄結(jié)尾的文件mv一個(gè)接一個(gè)地傳遞給命令-exec。該字符串{}是當(dāng)前正在處理的文件的名稱。

上面的示例中可以看出,使用該mv命令重命名多個(gè)文件并不是一件容易的事,因?yàn)樗枰芎玫亓私釨ash腳本。

2、使用rename命令

rename命令用字符串替換的方式批量改變文件名。

  • 重命名單個(gè)文件

# 將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)度名稱的文件,文件名中的foo被替換為foo0。

如果使用rename foo foo0 foo??,foo01到foo99的所有文件都被重命名為foo001到foo099,只重命名5個(gè)字符長(zhǎ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á)式

# 把文件名中的AA替換成aa
rename "s/AA/aa/" * 

# 把.html 后綴的改成 .php后綴
rename "s//.html//.php/" * 

# 把所有的文件名都以txt結(jié)尾
rename "s/$//.txt/" *

# 把所有以.txt結(jié)尾的文件名的.txt刪掉
rename "s//.txt//" *

默認(rèn)情況下,重命名命令不會(huì)覆蓋現(xiàn)有文件;但傳遞-f參數(shù)就可以允許覆蓋現(xiàn)有文件。

rename -f 's/.html/.php/' *.html

常見(jiàn)的使用rename命令示例

用下劃線替換文件名中的空格

rename 'y/ /_/' *

將文件名轉(zhuǎn)換為小寫(xiě)

rename 'y/A-Z/a-z/' *

將文件名轉(zhuǎn)換為大寫(xiě)

rename 'y/a-z/A-Z/' *

以上就是“l(fā)inux修改文件名命令怎么使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章名稱:linux修改文件名命令怎么使用
文章源于:http://muchs.cn/article36/isjspg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)、品牌網(wǎng)站制作網(wǎng)站設(shè)計(jì)公司、ChatGPTApp設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司