有人可以帮我重命名工具吗?
Can someone help me with rename tool?
我必须用这个结构重命名一堆文件(这是一个系列):
SSEE_SerieName_Episode.Name.With.Dots_[some_variables_qualities].mkv
SS 是像 03 这样的季号,像 08 这样的 EE 集数(前导零)。
Plex 无法识别它,因为它的名字很蹩脚......所以我想像这样重命名它:
sSSeEE_SerieName_Episode.Name.With.Dots.mkv
在bash中可以使用变量扩展
for old in [0-9][0-9][0-9][0-9]_*.mkv ; do
new=s${old:0:2}e${old:2}
if [[ -e $new ]] ; then
echo "Can't rename $old to $new: file already exists." >&2
else
mv "$old" "$new"
fi
done
${old:0:2}
表示$old
中从位置0开始的两个字符,${old:2}
表示$old
中从位置2开始的所有字符。
假设:
- 您正在使用 Perl 重命名命令。
Episode.Name.With.Dots
子字符串不包含下划线字符。
- 您想删除
_[some_variables_qualities]
子字符串。
- 上面的子字符串以下划线字符开头。
那么请您尝试以下操作:
rename 's/(\d{2})(\d{2})(_SerieName_[^_]+)_.*\.mkv/se.mkv/' *.mkv
重命名:
0102_SerieName_Episode.Name.With.Dots_[some_variables_qualities].mkv
如:
s01e02_SerieName_Episode.Name.With.Dots.mkv
请根据您的真实文件名修改上述命令中的_SerieName_
部分。
我必须用这个结构重命名一堆文件(这是一个系列): SSEE_SerieName_Episode.Name.With.Dots_[some_variables_qualities].mkv
SS 是像 03 这样的季号,像 08 这样的 EE 集数(前导零)。 Plex 无法识别它,因为它的名字很蹩脚......所以我想像这样重命名它: sSSeEE_SerieName_Episode.Name.With.Dots.mkv
在bash中可以使用变量扩展
for old in [0-9][0-9][0-9][0-9]_*.mkv ; do
new=s${old:0:2}e${old:2}
if [[ -e $new ]] ; then
echo "Can't rename $old to $new: file already exists." >&2
else
mv "$old" "$new"
fi
done
${old:0:2}
表示$old
中从位置0开始的两个字符,${old:2}
表示$old
中从位置2开始的所有字符。
假设:
- 您正在使用 Perl 重命名命令。
Episode.Name.With.Dots
子字符串不包含下划线字符。- 您想删除
_[some_variables_qualities]
子字符串。 - 上面的子字符串以下划线字符开头。
那么请您尝试以下操作:
rename 's/(\d{2})(\d{2})(_SerieName_[^_]+)_.*\.mkv/se.mkv/' *.mkv
重命名:
0102_SerieName_Episode.Name.With.Dots_[some_variables_qualities].mkv
如:
s01e02_SerieName_Episode.Name.With.Dots.mkv
请根据您的真实文件名修改上述命令中的_SerieName_
部分。