当我得到一个名称包含字符串“ x264”的文件时,我希望将其扩展名更改为“ .mp4”(原因太详细,无法在此处进行解释)。例子:
Seinfeld_S02E05_x264.mkv
-> Seinfeld_S02E05_x264.mp4
Seinfeld_S02E05_x264.avi
-> Seinfeld_S02E05_x264.mp4
我可以使用哪种脚本来自动进行此类更改?我的电脑是运行FreeBSD 11.1的NAS4FREE服务器
UPDATE(在Jeff的回复之后):我忘了提一下,我希望它在指定的目录及其所有子目录中都有效。也许是命令而不是脚本?
使用find
:
find -type f -name "*x264*" -execdir sh -c 'echo mv -n "$1" "${1%.*}.mp4"' _ {} \;
该-n
选项将防止mv
覆盖现有文件,因为给定样本文件的名称将重命名为单个文件名,在这种情况下,您将删除第一个文件。
要在不具有扩展名(后缀)的文件上进行此工作,请执行以下操作:
find -type f -name "*x264*" -execdir sh -c 'file="${1#./}";
echo mv -n "$file" "${file%.*}.mp4"' _ {} \;
echo
在上面删除以摆脱空运行并在文件上执行重命名。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句