溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux bash遞歸怎么改變文件擴(kuò)展名

發(fā)布時(shí)間:2022-01-27 15:27:16 來源:億速云 閱讀:347 作者:柒染 欄目:開發(fā)技術(shù)

本篇文章為大家展示了Linux bash遞歸怎么改變文件擴(kuò)展名,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

Linux系統(tǒng)中如何遞歸改變文件的擴(kuò)展名?當(dāng)我們需要大量的更改文件擴(kuò)展名使用bash遞歸是一個(gè)不錯(cuò)的選擇,這調(diào)試測試的時(shí)候就非常有用。

使用find -exec與mv命令遞歸改變文件擴(kuò)展名

 find . -name "*.t1" -exec bash -c 'mv "$1" "${1%.t1}".t2' - '{}' +

比如:我們要查找src目錄下所有.spec.ts 文件并更改擴(kuò)展名

 find ./src -name "*.spec.ts" -type f bash -c 'mv "$1" "${1%.t1}".t2' - '{}' + ./src/users/users.controller.spec.ts ./src/auth/auth.service.spec.ts ./src/auth/auth.controller.spec.ts ./src/roles/roles.controller.spec.ts ./src/roles/roles.service.spec.ts ./src/shared/prisma.service.spec.ts ./src/app.controller.spec.ts ./src/permissions/permissions.controller.spec.ts ./src/permissions/permissions.service.spec.ts
  • ‘{}’是源文件名,包行相對與查找位置目錄./src/auth/auth.service.spec.ts,之所以加上單引號是因?yàn)閟hell會解釋{},正常情況下{}在shell中意味著創(chuàng)建一個(gè)數(shù)組array

  • 使用+形式調(diào)用會返回非零值作為退出狀態(tài),即find返回非零退出狀態(tài)。 如果發(fā)現(xiàn)遇到錯(cuò)誤立即退出

  • bash -c 執(zhí)行指定的命令

  • ‘mv “{1%.t1}”.t2′ 這是一個(gè)mv命令,它接受兩個(gè)參數(shù)第一個(gè)參數(shù)是$1,即傳遞來的- ‘{}’

  • Extra open brace or missing close brace1解構(gòu),路徑部分賦值給1%,這里1%就是./src/auth/auth.service

使用find -exec與rename命令遞歸改變文件擴(kuò)展名

安裝rename在ubuntu和debian

 sudo apt install rename

安裝rename在Centos和RedHat

 sudo dnf install rename
 find . -name '*.t1' -exec rename .t1 .t2 {} + find . -name "*.t1" -exec rename 's/\.t1$/.t2/' '{}' +

上述內(nèi)容就是Linux bash遞歸怎么改變文件擴(kuò)展名,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI