如何通过从某个字符开始剪切来批量重命名文件

如何通过从某个字符开始剪切来批量重命名文件

我有一个文件名很蹩脚的音乐文件,如下所示:

LetMeBeTheOne[Outtakeb-SideTolongMistyDays[2010DigitalRemaster-1.mp3
TheFoolAndMe[DigitalRemaster.mp3

我想通过从第一个 [ 字符开始剪切来重命名文件,这实际上是文件的真实名称。

LetMeBeTheOne.mp3
TheFoolAndMe.mp3

我想到这个,但不知道如何使用它来重写文件;

for file in *.mp3
do str="$file"
echo "${str%%[*}".mp3;
done

这将正确地将文件名写入 std out,但我如何才能让它将文件名写入驱动器?我知道这很简单,但我遇到了瓶颈。我可能该去睡觉了。:)

谢谢

答案1

弄清楚了。

for file in *.mp3
do str="$file"
mv $file "${str%%[*}".mp3;
done

忘了给它做mv了。需要睡觉。

相关内容