Rename

用年份批量重命名可變長度的長文件名

  • February 3, 2016

我在一個目錄中有一堆文件,我想重命名如下,例如現有名稱:

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,甚至完全刪除它。

引用自:https://unix.stackexchange.com/questions/259719