[問題] Linux下Bash批次更改檔名(數百、千個檔)

看板Linux作者 (台灣高階管理人)時間8年前 (2017/08/15 16:03), 編輯推噓2(2016)
留言18則, 11人參與, 最新討論串1/6 (看更多)
小弟剛接觸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高手如雲,又願意伸出援手,小弟這次真心想要請求幫忙,如不嫌棄,請助小弟 一臂之力! 小弟將來實力長成,必像大眾高手一樣儘力不計酬勞幫忙真心需要幫忙之人! 成謝再三! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.126.159.76 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1502784206.A.14A.html

08/15 16:09, , 1F
對不起,打字錯誤!最後一行字是「感謝再三」!
08/15 16:09, 1F

08/15 16:11, , 2F
小弟現在的感覺就是和「絕望幽靈」比絕望輸了的感覺!
08/15 16:11, 2F

08/15 16:11, , 3F
人生無望!
08/15 16:11, 3F

08/15 16:21, , 4F
Dolphin內建批量重新命名
08/15 16:21, 4F

08/15 16:49, , 5F
rename 's/賊王 第800集 繁體中文翻譯/OnePiecev800/' *
08/15 16:49, 5F

08/15 16:49, , 6F
啊…看錯XDD
08/15 16:49, 6F

08/15 16:55, , 7F
rename -e 's/^.+(\d+).+\.mp4/OnePiece v$1.mp4/' *
08/15 16:55, 7F

08/15 22:00, , 8F
有種看到某位博士發言的感覺
08/15 22:00, 8F

08/15 22:18, , 9F
hijkxyzuw高手的解法太過高深…願意給小弟解釋一下嗎?
08/15 22:18, 9F

08/15 23:41, , 10F
rename 要小心版本可能不同
08/15 23:41, 10F

08/15 23:41, , 11F
util-linux/ util-linux-ng /perl 提供的不太一樣
08/15 23:41, 11F

08/16 04:13, , 12F
regex
08/16 04:13, 12F

08/16 20:23, , 13F
我系統的 rename 就不吃 -e 參數
08/16 20:23, 13F

08/16 20:40, , 14F
若支援的話的確很好用,一行簡單單純語法可搞定
08/16 20:40, 14F

08/18 22:46, , 15F
for 迴圈搭配硬尻檔名就可以了 只是沒有很通用XD
08/18 22:46, 15F

08/21 15:01, , 16F
for i in `seq 1 800`; do mv *$i* v$i.mp4; done
08/21 15:01, 16F

08/24 00:59, , 17F
樓上你第一次進迴圈, 就把檔名裡有 1 的都抓出來鞭了
08/24 00:59, 17F

08/24 01:00, , 18F
第1集 第10集 第1x集 第21集 第1xx集 ...
08/24 01:00, 18F
文章代碼(AID): #1PaghE5A (Linux)
討論串 (同標題文章)
文章代碼(AID): #1PaghE5A (Linux)