我的文件夹中有几个文件,它们的名称格式为:SOMETEXT1数字SOMETEXT2.mp3或SOMETEXT number.mp3。我想将它们重命名为数字SOMETEXT SOMETEXT2.mp3或数字SOMETEXT.mp3。使用bash和通用的GNU命令行工具,我将如何实现呢?
使用perl-rename
(有时称为prename
):
prename -v 's/^(.+) (\d+)( .+|\.[^.]+)$/\2 \1\3/' *
用-n
刚刚测试不重命名。
与bash
:相同
re='^(.+) ([0-9]+)( .+|\.[^.]+)$'
for file in *; do
new=$file
if [[ "$file" =~ $re ]]; then
new="${BASH_REMATCH[2]} ${BASH_REMATCH[1]}${BASH_REMATCH[3]}"
fi
if [[ "$new" != "$file" ]]; then
mv -v "$file" "$new"
fi
done
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句