今天小編給大家分享一下linux修改文件名命令怎么使用的相關(guān)知識點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
成都創(chuàng)新互聯(lián)公司專注于無錫企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),商城建設(shè)。無錫網(wǎng)站建設(shè)公司,為無錫等地區(qū)提供建站服務(wù)。全流程按需求定制設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
linux修改文件名的命令有兩個(gè):1、mv命令,既可以重命名文件,又可以移動文件或文件夾,修改語法“mv [參數(shù)] 舊文件名 新文件名”;2、rename命令,可用字符串替換的方式批量改變文件名,語法“rename [參數(shù)] 舊文件名 新文件名”。
1、使用mv命令
mv命令既可以重命名,又可以移動文件或文件夾。
mv [參數(shù)] 舊文件/目錄 新文件名/目錄
例子:將目錄A重命名為B
mv A B
例子:將/a目錄移動到/b下,并重命名為c
mv /a /b/c
其實(shí)在文本模式中要重命名文件或目錄,只需要使用mv命令就可以了,比如說要將一個(gè)名為abc的文件重命名為1234:
mv abc 1234
注意,如果當(dāng)前目錄下也有個(gè)1234的文件的話,這個(gè)文件是會將它覆蓋的。
如何使用mv命令重命名多個(gè)文件?
mv命令一次只能重命名一個(gè)文件,但它可以與其他命令一起使用,例如find在bash for或while循環(huán)來重命名多個(gè)文件。
示例:如何通過使用bash for循環(huán)來重命名當(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)目和文件移動到一個(gè)新的替換.html用.php。該部分${file%.html}使用shell參數(shù)擴(kuò)展.html從文件名中刪除部分。
● done表示循環(huán)段的結(jié)束。
我們也可以mv結(jié)合使用該命令find來實(shí)現(xiàn)與上面相同的功能。
find . -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' \;
find命令使用該開關(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?
,會把foo1到foo9的文件重命名為foo01到foo09,重命名的文件只是有4個(gè)字符長度名稱的文件,文件名中的foo被替換為foo0。
如果使用rename foo foo0 foo??
,foo01到foo99的所有文件都被重命名為foo001到foo099,只重命名5個(gè)字符長度名稱的文件,文件名中的foo被替換為foo0。
如果使用rename foo foo0 foo*
,foo001到foo278的所有文件都被重命名為foo0001到foo0278,所有以foo開頭的文件都被重命名。
如果使用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)情況下,重命名命令不會覆蓋現(xiàn)有文件;但傳遞-f參數(shù)就可以允許覆蓋現(xiàn)有文件。
rename -f 's/.html/.php/' *.html
常見的使用rename命令示例
用下劃線替換文件名中的空格
rename 'y/ /_/' *
將文件名轉(zhuǎn)換為小寫
rename 'y/A-Z/a-z/' *
將文件名轉(zhuǎn)換為大寫
rename 'y/a-z/A-Z/' *
以上就是“l(fā)inux修改文件名命令怎么使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
文章名稱:linux修改文件名命令怎么使用
文章源于:http://aaarwkj.com/article36/isjspg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、品牌網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、ChatGPT、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)