正如标题所示,我正在寻找一个bash命令(或者甚至是perl命令),我可以在终端中使用它来帮助我重命名文件夹中的文件。Bash终端命令重命名多个文件
我是一名DJ,每周通过一个包含数百种新音乐的zip文件接收音乐,但文件名通常不一致,有时文件在歌曲标题之前有各种字符。我正在寻找在第一个字母之前替换任何字符以及删除字符串末尾的任何额外空格。
Original < 01 - Artist - Song .mp3
New > Arist - Song.mp3
Original < _Artist - Song.mp3
New > Artist - Song.mp3
Original < 04 04)(*)*+ Artist - Song.wav
New < Artist - Song.wav
我发现了一个正则表达式一个bash几个月前,处理[0-9]将字符串中的字符前,我已经尝试了一些事情,但没有真正的工作,所以我在这里张贴于看看有人可以帮忙。任何帮助非常感谢,提前致谢!
我尝试
for f in [0-9]* ; do
if[[ $f =~ ^[0-9]+[[:blank:]]+(.+) ]] ; then
newname = "${BASH_REMATCH[1]}"
echo "> $newname"
fi
done
尝试'rename'命令。 – Barmar 2014-11-02 06:34:11
@Barmar什么是重命名命令? – Chris 2014-11-03 00:56:49
这是一个使用Perl正则表达式重命名文件的脚本。 – Barmar 2014-11-03 01:06:33