Rename
用年份批量重命名可變長度的長文件名
我在一個目錄中有一堆文件,我想重命名如下,例如現有名稱:
1937 - Snow White and the Seven Dwarves.avi 1940 - Pinocchio.avi
目標名稱:
Snow White and the Seven Dwarves (1937).avi Pinocchio (1940).avi
乾杯
如果您有基於 Perl
rename
(有時稱為prename
),這確實是可能的。如果您了解正則表達式,那就更簡單了。rename -n 's!^(\d+) - (.*)\.(...)$!$2 ($1).$3!' *.avi
這樣做是將源文件名拆分為三個部分。使用您的第一個範例,這些將是
- 1937
- 白雪公主和七個小矮人
- avi
這些在命令中分配給
$1
, 。(這些不是變數。)然後它將它們以不同的順序重新組合在一起。$2``$3``rename``bash
當您對建議的結果感到滿意時,將其更改
-n
為-v
,甚至完全刪除它。