Scripting
(perl) 重命名批量文件 - 將 #{NUMBER} 開頭的部分移到前面
我正在嘗試使用 rename with perl scripting 使用範例格式重命名許多文件
'Balisong Tutorial - (0g Chaplin) - Advanced #21-d8ajkHL34s0.mkv' 'Balisong Tutorial - (ALT Reverse Behind the 8 Ball) - Advanced #1-vpDt7sdYwpQ.webm' 'Balisong Tutorial - (Around the Twirld) - Advanced #16--BEi7dyGJkI.mkv' 'Balisong Tutorial - (Around the World) - Advanced #7-doEKZCCqfDY.mkv' 'Balisong Tutorial - (Backhand Catch) - Advanced #29-ETHKZZ6cKWc.mkv' 'Balisong Tutorial - (Blender) - Advanced #6-7nR3_Z2HkbM.mkv'
第一個標題
Balisong 教程 - (0g Chaplin) - 進階 #21 -d8ajkHL34s0.mkv
我怎樣才能將#21 移到前面以顯示為這樣
#21 Balisong 教程 - (0g Chaplin) - Advanced d8ajkHL34s0.mkv
不幸的是,我不熟悉 Sed,也不知道如何通過重命名來完成此操作。
任何幫助將不勝感激。如果可能的話,我將非常感謝您對所使用的語法進行簡單的解釋。我知道這裡的例子有點傻,但仍然有助於理解未來情況的解決方案。
感謝您的時間。
使用基於 perl 的
rename
命令,您可以擷取
- 一切到
#
- 和
#
一個或多個後面的數字然後可選地匹配但不擷取一個或多個破折號;然後以相反的順序替換擷取的子字元串:
$ rename -n 's/(.*)(#\d+)-+/$2 $1/' *.mkv rename(Balisong Tutorial - (0g Chaplin) - Advanced #21-d8ajkHL34s0.mkv, #21 Balisong Tutorial - (0g Chaplin) - Advanced d8ajkHL34s0.mkv) rename(Balisong Tutorial - (Around the Twirld) - Advanced #16--BEi7dyGJkI.mkv, #16 Balisong Tutorial - (Around the Twirld) - Advanced BEi7dyGJkI.mkv) rename(Balisong Tutorial - (Around the World) - Advanced #7-doEKZCCqfDY.mkv, #7 Balisong Tutorial - (Around the World) - Advanced doEKZCCqfDY.mkv) rename(Balisong Tutorial - (Backhand Catch) - Advanced #29-ETHKZZ6cKWc.mkv, #29 Balisong Tutorial - (Backhand Catch) - Advanced ETHKZZ6cKWc.mkv) rename(Balisong Tutorial - (Blender) - Advanced #6-7nR3_Z2HkbM.mkv, #6 Balisong Tutorial - (Blender) - Advanced 7nR3_Z2HkbM.mkv)
-n
當您對建議的轉換感到滿意時,請刪除。