我有一个包含.MP3文件的目录,我想将扩展名更改为.mp3。最简单的方法是什么?我认为有以下几种思路:
find /RootPath -type f -iname "*.mp3" -exec mv {} sed s/.*MP3/\1.mp3/ \;
...虽然我知道那是不对的。:)替换不正确,我不确定如何在in中同时使用amv
和sed
命令。-exec
find
我需要一个bash脚本吗?
这是在Bash中执行此操作的一种方法:
for i in *; do [ "${i/%MP3/mp3}" != "$i" ] && echo "$i" "${i/%MP3/mp3}"; done
我在echo
这里使用过,因此命令本身除了打印文件名对外,什么也不做。如果该列表表示您要进行的更改,则可以更改echo
为mv -i --
,然后将移动文件(并在覆盖前提示您)之类的内容。
在for
通过每一个文件迭代匹配的*
。然后,我们确定扩展名是否已经是小写字母,如果继续,则继续,如果不是,则继续进行扩展(或视情况而定,将其回显)。这使用了Bash的内置字符串操作,您可以在此处阅读:http : //tldp.org/LDP/abs/html/string-manipulation.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句