给定.m4v
shell 变量中的一个名称,通过修剪第一个空格并添加文件名后缀name
来获得相应文件的名称。.srt
$name
.srt
这是用${name%% *}.srt
. 这将删除最长的后缀字符串匹配 *
,$name
然后添加.srt
到该结果的末尾。
文件的新名称.srt
是$name
,但.m4v
文件名后缀更改为.srt
.
这是用${name%.m4v}.srt
. 这将删除(最短)后缀字符串匹配.m4v
,$name
然后添加.srt
到该结果的末尾。
下面是一个循环,它使用上面的两个参数替换来重命名每个.srt
文件,给定.mv4
在当前目录中找到的文件列表。该循环还让您知道是否存在.m4v
没有相应.srt
文件的文件,或者该.srt
文件的新名称是否已经存在。
for name in *.m4v; do
if [ ! -e "${name%% *}.srt" ]; then
printf 'Can not find .srt file for "%s"\n' "$name"
continue
elif [ -e "${name%.m4v}.srt" ]; then
printf '.srt file for "%s" already exists\n' "$name"
continue
fi >&2
mv -- "${name%% *}.srt" "${name%.m4v}.srt"
done
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句