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

Brianna avatar
By Brianna
at 2017-08-15T16:37

Table of Contents

※ 引述《weakstudy (台灣高階管理人)》之銘言:
: 小弟剛接觸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高手如雲,又願意伸出援手,小弟這次真心想要請求幫忙,如不嫌棄,請助小弟
: 一臂之力!
: 小弟將來實力長成,必像大眾高手一樣儘力不計酬勞幫忙真心需要幫忙之人!
: 成謝再三!

伸手黨還寫了這麼長...

#!/bin/bash

for i in `ls`; do
NUM=`echo $i|sed -n 's/.*第\(.*\)集.*/\1/p'`

mv $i "OnePiece v$NUM.mp4"
done



--
Tags: Linux

All Comments

Bethany avatar
By Bethany
at 2017-08-16T21:17
真是好心人…
Liam avatar
By Liam
at 2017-08-19T21:47
然後就會出事情了... $i 沒有用雙引號包起來
George avatar
By George
at 2017-08-22T09:11
你其實想陷害他對吧
Anonymous avatar
By Anonymous
at 2017-08-25T21:04
mv "$i" "OnePiecev$NUM.mp4" 才對
Tom avatar
By Tom
at 2017-08-26T01:02
順手打的 打錯了不好意思啊 哈哈
Oscar avatar
By Oscar
at 2017-08-30T07:11
對不起!小弟Linux新手,望各位高手海涵! ^^"
Kumar avatar
By Kumar
at 2017-09-01T11:23
感覺用""包起來還是很不保險, 比如要是檔名有";然後
Kelly avatar
By Kelly
at 2017-09-03T15:46
`ls` 這邊也可能會炸; NUM 也可能會炸
太多需要 escape 的字元了
George avatar
By George
at 2017-09-05T08:31
謝謝各位前輩的教導,在下會繼續努力的! 謝謝! ^^
Jacky avatar
By Jacky
at 2017-09-07T11:53
最近在處理一個資料夾下有約一百四十萬個圖檔的分類
Jacky avatar
By Jacky
at 2017-09-09T16:08
一開始因為在windows下,所以選用了Photos2Folders
跑了四天之後,遇到Win10愛的更新,程式被中斷了,
Barb Cronin avatar
By Barb Cronin
at 2017-09-14T12:12
目前在用cygwin摻msys2然後先用find或ls -U之後,把
檔名透過管線餵給xargs或while read之類的處理。
Necoo avatar
By Necoo
at 2017-09-14T21:10
變數代換後,不會偵測特殊字元,除了空格的分詞。
Jacky avatar
By Jacky
at 2017-09-19T00:57
例如 to_null='>/dev/null' ; ls $to_null
Bethany avatar
By Bethany
at 2017-09-19T17:11
會變成列出名為 '>/dev/null' 的檔案,而非重導向。
Jack avatar
By Jack
at 2017-09-23T22:05
$i要用雙引號=> ${i}

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

Callum avatar
By Callum
at 2017-08-15T16:03
小弟剛接觸Linux下的Ubuntu系統,用的是Bash, 話說某天,某個學長經過我的座位看我一個檔點一下後,按F2,再更改檔名, 然後換下一個,他看了我改了五、六個檔吧, 終於受不了了,「學弟啊!這種東西,你寫個Bash就可以在30秒內搞定它了!」, 我眼睛發光的看著他,但是他在趕論文,隨手指著一個同學(女 ...

請問Markdown在引用文字中加粗體的語法

Franklin avatar
By Franklin
at 2017-08-14T15:33
最近把wordpress轉到 Hexo 去了 因為跟大多數的軟體一樣,Wordpress越來越肥... 現在正在練習markdown的語法 但是有個東西一直測試不出來,想請教各位看看 在markdown語法中,行首空四格可以把後面的文字作縮排 裡面的一些特殊符號都會被當作一般文字,不會被處理 但是我如果想 ...

ubuntu in usb一些問題

Genevieve avatar
By Genevieve
at 2017-08-13T13:08
我安裝的方法是用一個2GB的usb當作liveusb 裝在另一個64GB的usb上 我有先用gparted把64GB切成3部分: /dev/sdb1: 15(fat32) and#34;/dataand#34; , 一般資料儲存用 /dev/sdb5: 48(ext4) and#34;/and#34; , ...

關於Tomcat的port 號

Enid avatar
By Enid
at 2017-08-13T12:23
※ [本文轉錄自 MAC 看板 #1PZzFMC7 ] 作者: chiang0514 (ethan0514) 看板: MAC 標題: [求救] 關於Tomcat的port 號 時間: Sun Aug 13 12:21:38 2017 本來應該是預設8080 但自己在活動檢視器裡面, 找到的卻不是8080 ...

1

Eden avatar
By Eden
at 2017-08-12T12:22
最近在找合適的的小裝置來裝linux 看上了一個東西,鴻海的便當盒, 588+999=1587 一年後不想使用,還可以退回999-150=849, 感覺甚至比pi3還便宜, 所以想問問,有強者把linux最好是ubuntu系列的寫到便當盒內嗎? 而且螢幕網路藍牙都正常可使用... - ...