我正在尝试编写一个脚本来自动将曲目和标题信息添加到 mp3 文件的 id3 标签。
此时,我已经 sed 从文件名中获取信息并将其格式化以适合 id3v2 命令,但是在点击多字标题时,我得到了错误Couldn't stat file '<second word of title>'
。如果我只是回显正在运行的 id3v2 命令,我会看到以下格式的命令:
id3v2 -t Title\ Of\ Track -T 1 1_-_Title_Of_Track.mp3
将该文本复制/粘贴到终端中可以正确执行标记,但当然缺乏预期的脚本自动化。因此,旨在自动化该过程的脚本如下所示:
#!/bin/bash
for track in *.mp3 ; do
id3v2 $(echo ${track} | sed -e 's/^\([1-9][0-9]*\)_-_\(.*\).mp3/-t \2 -T \1/' -e 's/_/\\ /g') ${track}
done
关于为什么在手动键入时标题被视为单个参数但在编写脚本时不被视为单个参数的任何见解?