Linux下Bash批次更改檔名(數百、千個檔) - Linux

Table of Contents

小弟剛接觸Linux下的Ubuntu系統,用的是Bash,
話說某天,某個學長經過我的座位看我一個檔點一下後,按F2,再更改檔名,
然後換下一個,他看了我改了五、六個檔吧,
終於受不了了,「學弟啊!這種東西,你寫個Bash就可以在30秒內搞定它了!」,
我眼睛發光的看著他,但是他在趕論文,隨手指著一個同學(女的)學姐,
她也會寫Bash,不會的請教她,
然就就飄回自已的座位寫論文了,
真的是「飄」回去 … 好像剛才那一段對話從來沒有發生過,
學姐也看都沒看我一眼,
我 … 好想寫個「慘」字 …
好了,前情提要就是這樣 …
接下來就是我現在面對的情況:
我有個資料夾…就叫它「OnePiece」吧
裡面有…
「海賊王 第1集 繁體中文翻譯.mp4」
「海賊王 第2集 繁體中文翻譯.mp4」
「海賊王 第3集 繁體中文翻譯.mp4」
「海賊王 第4集 繁體中文翻譯.mp4」
「海賊王 第5集 繁體中文翻譯.mp4」

「海賊王 第51集 繁體中文翻譯.mp4」
「海賊王 第52集 繁體中文翻譯.mp4」
「海賊王 第53集 繁體中文翻譯.mp4」
「海賊王 第54集 繁體中文翻譯.mp4」
「海賊王 第55集 繁體中文翻譯.mp4」

「海賊王 第796集 繁體中文翻譯.mp4」
「海賊王 第797集 繁體中文翻譯.mp4」
「海賊王 第798集 繁體中文翻譯.mp4」
「海賊王 第799集 繁體中文翻譯.mp4」
「海賊王 第800集 繁體中文翻譯.mp4」


因小弟Bash功力低淺,故特來網上求教各高手、神級人物,是否可以寫一個Bash幫忙更改
檔名的呢?
但希望是集數的數字可以留下來,
也就是如「海賊王 第800集 繁體中文翻譯.mp4」可以變成「OnePiece v800.mp4」?
久聞PTT高手如雲,又願意伸出援手,小弟這次真心想要請求幫忙,如不嫌棄,請助小弟
一臂之力!
小弟將來實力長成,必像大眾高手一樣儘力不計酬勞幫忙真心需要幫忙之人!
成謝再三!

--

All Comments

Enid avatarEnid2017-08-17
對不起,打字錯誤!最後一行字是「感謝再三」!
Kyle avatarKyle2017-08-20
小弟現在的感覺就是和「絕望幽靈」比絕望輸了的感覺!
人生無望!
Aaliyah avatarAaliyah2017-08-23
Dolphin內建批量重新命名
Hazel avatarHazel2017-08-25
rename 's/賊王 第800集 繁體中文翻譯/OnePiecev800/' *
啊…看錯XDD
Elvira avatarElvira2017-08-28
rename -e 's/^.+(\d+).+\.mp4/OnePiece v$1.mp4/' *
Caroline avatarCaroline2017-09-01
有種看到某位博士發言的感覺
Delia avatarDelia2017-09-03
hijkxyzuw高手的解法太過高深…願意給小弟解釋一下嗎?
Gary avatarGary2017-09-04
rename 要小心版本可能不同
util-linux/ util-linux-ng /perl 提供的不太一樣
Annie avatarAnnie2017-09-06
regex
Joe avatarJoe2017-09-10
我系統的 rename 就不吃 -e 參數
Kama avatarKama2017-09-13
若支援的話的確很好用,一行簡單單純語法可搞定
Yedda avatarYedda2017-09-13
for 迴圈搭配硬尻檔名就可以了 只是沒有很通用XD
Bennie avatarBennie2017-09-17
for i in `seq 1 800`; do mv *$i* v$i.mp4; done
Necoo avatarNecoo2017-09-21
樓上你第一次進迴圈, 就把檔名裡有 1 的都抓出來鞭了
Steve avatarSteve2017-09-24
第1集 第10集 第1x集 第21集 第1xx集 ...