批量修改命名文件名(Linux)

今天下载了一堆这样的文件

Caillou Loves Halloween  (S01E64).mp4

Caillou Mails a Letter  (S01E33).mp4

Caillou Makes a New Friend  (S01E38).mp4

想把他们命名为这样

S01E64 Caillou Loves Halloween.mp4

S01E33 Caillou Mails a Letter.mp4

S01E38 Caillou Makes a New Friend.mp4


打开shell,输入如下命令:

for f in *.mp4;

do tmp1=${f%\).mp4};

tmp2=${tmp1#*\(};

tmp3=${f%\ *};

new=${tmp2}\ ${tmp3}.mp4;

mv "$f" "$new";

done

后发现.mp4前面还有一个空格,再运行下面一段代码

for f in *.mp4;do mv "$f" "${f/ .mp4/.mp4}";done

你可能感兴趣的:(批量修改命名文件名(Linux))